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.