Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/03/2009, 11:27
jasv
 
Fecha de Ingreso: julio-2008
Ubicación: Caldas, Antioquia, Colombia
Mensajes: 81
Antigüedad: 15 años, 10 meses
Puntos: 4
Archivos descargados desde PHP se dañan

Hola a todos...

desde hace mucho tiempo estoy implementando una aplicación. En ésta se generan archivos de word y excel (plantillas) que se descargan al equipo local.

Específicamente utilizo dos formas para hacer esto:

para los archivo de word (generados desde una plantilla rtf) utilizo lo siguiente:

Código PHP:
header("Expires: 0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("Cache-Control: private",false);
header("Content-Description: File Transfer"); 
header("Content-Type: application/force-download"); 
//header("Content-Length: " . strlen($rtf)); 
header("Content-Disposition: attachment; filename=Portada-$op.doc");
echo 
$rtf
y para los archivos de excel:

Código PHP:
header ("Content-Disposition: attachment; filename=TP.xls\n\n");
header ("Content-Type: application/octet-stream");
header ("Content-Length: ".filesize($enlace));
readfile($enlace);
//unlink($enlace); 
He descartado que los archivos se generen erróneamente porque sin éstas líneas, los archivos se guardan en el servidor y los abro perfectamente. el problema es cuando se tienen que descargar a la máquina local. En el caso de los archivos de word, me pide que escoja la codificación para ver el archivo y me muestra una serie de caracteres extraños (o bueno, ni tan extraños, se trata de carácteres propios de rtf). y en el de excel me muestra un error de importación de HTML.

Hasta ayer todas estas funcionalidades estaban correctas. sospecho que se puede deber a algo en el servidor, pero no tengo idea de lo que debo buscar.

Espero que me puedan colaborar... gracias de antemano.

Saludos.