PHP - Descargar archivo desde un servidor externo a mi local con PHP

 
Vista:

Descargar archivo desde un servidor externo a mi local con PHP

Publicado por PA (5 intervenciones) el 17/10/2017 13:07:12
Hola, quiero descargar un archivo excel a mi local a una carpeta cualquiera con php . No me es posible descargarlo. Si pongo un archivo que lo tengo en local si que lo descarga, he buscado miles de ejemplos y no me funciona. Utilizo testlink que esta echo en PHP.

he intentado con todo esto y mas:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function descargar ($archivo, $downloadfilename = null) {
  	if (file_exists($archivo)) {
  		$downloadfilename = $downloadfilename !== null ? $downloadfilename : basename($archivo);
  		header('Content-Description: File Transfer');
  		header('Content-Type: application/octet-stream');
  		header('Content-Disposition: attachment; filename=' . $downloadfilename);
  		header('Content-Transfer-Encoding: binary');
  		header('Expires: 0');
  		header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  		header('Pragma: public');
  	//	header('Content-Length: ' . filesize($archivo));
 
  		ob_clean();
  		flush();
  		readfile($archivo);
  		exit;
  	}
}



1
2
3
4
//   $url = 'http://spreadsheetpage.com/downloads/xl/worksheet%20functions.xlsx;
//   readfile($fichero); = "C:\Informes\libroPrueba6.xlsx";
//   $src = fopen($url, 'r');
//   $dest = fopen($file, 'w');


Nada de esto me funciona si intento acceder a un sitio web que no es mi local .
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Descargar archivo desde un servidor externo a mi local con PHP

Publicado por Alejandro (54 intervenciones) el 17/10/2017 13:36:03
PA,

Esto debería servirte, asegúrate de tener los permisos correspondientes,

1
2
3
4
5
6
$new_name = 'nuevo_archivo.xlsx';
 
$url = 'http://miarchivo.com/name.xlsx';
$file   = file($url);
 
$result = file_put_contents($new_name, $file);

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descargar archivo desde un servidor externo a mi local con PHP

Publicado por PA (5 intervenciones) el 17/10/2017 13:44:13
Muchas gracias por contestar, pero me descarga 0 KB . No se porque ocurre esto ya que si pongo un fichero de local si que lo descarga bien . Un saludo y gracias
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de Alejandro

Descargar archivo desde un servidor externo a mi local con PHP

Publicado por Alejandro (54 intervenciones) el 17/10/2017 13:51:54
Entonces tienes problemas de permiso en tu carpeta. revisa el log de errores en PHP.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descargar archivo desde un servidor externo a mi local con PHP

Publicado por PA (5 intervenciones) el 17/10/2017 14:55:38
No me sale nada en el log. Intentare otras cosas. Gracias . Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de kip
Val: 2.325
Plata
Ha disminuido 1 puesto en PHP (en relación al último mes)
Gráfica de PHP

Descargar archivo desde un servidor externo a mi local con PHP

Publicado por kip (877 intervenciones) el 17/10/2017 15:24:42
Hola, una forma simple podria ser:

1
2
3
4
5
6
7
8
9
<?php
header('Content-Description: File Transfer');
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename=test.xlsx');
header('Content-Transfer-Encoding: binary');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Pragma: public');
echo file_get_contents('http://spreadsheetpage.com/downloads/xl/worksheet%20functions.xlsx');

Debes tener en cuenta que de esta forma es necesario abrir el navegador y asi ejecutar el código PHP al hacer la peticion, es así como necesitas hacerlo funcionar ?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Descargar archivo desde un servidor externo a mi local con PHP

Publicado por PA (5 intervenciones) el 17/10/2017 17:33:45
hola kip. Creía que iva a funcionar porque me ha descargado un archivo pero no es el que yo quería, me descarga algo que no tiene que ver con el fichero que hay en la url .
Yo abro el navegador si , es una aplicación web basada en php , por lo que lo ejecuto el código desde el navegador .
Necesito descargar el fichero de la url y copiarlo en una ruta en local para después tratarlo con PHP todo .

Gracias por contestar.
Un saludo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar