Ver Mensaje Individual
  #1 (permalink)  
Antiguo 03/05/2011, 20:32
Avatar de shujidan
shujidan
 
Fecha de Ingreso: abril-2011
Mensajes: 121
Antigüedad: 13 años
Puntos: 5
Como forzar la descarga de un archivo externo

Mi problema es que tengo este codigo para forzar descargas desde mi servidor, pero al intentar forzar un archivo que se encuentra almacenado en otra web externa, no puedo leer su tamaño y por lo tanto se descargan 0 bytes del archivo

Código PHP:
Ver original
  1. <?
  2.         header('Content-Description: File Transfer');
  3.     header('Content-Type: application/octet-stream');
  4.     header('Content-Disposition: attachment; filename=$nombre_del_archivo');
  5.     header('Content-Transfer-Encoding: binary');
  6.     header('Expires: 0');
  7.     header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
  8.     header('Pragma: public');
  9.     header('Content-Length: '.filesize($URL_de_la_descarga)); //Este es el problema
  10.     ob_clean();
  11.     flush();
  12.     readfile($URL_de_la_descarga);
  13. ?>


En caso de omitir este header (Content-Length), cuando intento descargar archivos de texto, se agrega el html de la pagina al contenido del archivo.

Porfavor si alguien me pudiera ayudar le estaría muy agradecido.