siempre he tenido el problema que no se me descargara bien un documento pdf y para ello he incluido este codigo que me soluciona el problema
Código PHP:
//ruta directorio donde se almacenan todos los files
$path = "../admin/informes";
//compongo el camino + el nombre del archivo
$compuesto ="$path/$archivo";
$user_agent = strtolower ($_SERVER["HTTP_USER_AGENT"]);
header( "Content-type: application/pdf" ); //defino la extension del file
if ((is_integer (strpos($user_agent, "msie"))) && (is_integer (strpos($user_agent, "win")))) {
header( "Content-Disposition: filename=".$archivo);
} else {
header( "Content-Disposition: attachment; filename=".$archivo);
}
header( "Content-Description: File Transfert");
@readfile($compuesto);
// esto es solo para pdf´s pero cuando existe un archivo de extensión word no me funciona directamente si al salir el cuadro de dialogo del IE (abrir / guardar) clicqueo en abrir, en cambio si guardo el documento si lo guarda, pero uno conociendo a los usuarios por intuición darán clic en abrir y se armará el problema porque no lo podrán visualizar. existe alguna forma de saber la extensión del archivo que tengo que bajar?, por los headers?
Código PHP:
if (header( "Content-type: application/doc" )) {
$user_agent = strtolower ($_SERVER["HTTP_USER_AGENT"]);
header( "Content-type: application/doc" );
if ((is_integer (strpos($user_agent, "msie"))) && (is_integer (strpos($user_agent, "win")))) {
header( "Content-Disposition: filename=".$archivo);
} else {
header( "Content-Disposition: attachment; filename=".$archivo);
}
header( "Content-Description: File Transfert");
@readfile($compuesto);
}
if header( "Content-type: application/pdf" ) {
$user_agent = strtolower ($_SERVER["HTTP_USER_AGENT"]);
header( "Content-type: application/pdf" );
if ((is_integer (strpos($user_agent, "msie"))) && (is_integer (strpos($user_agent, "win")))) {
header( "Content-Disposition: filename=".$archivo);
} else {
header( "Content-Disposition: attachment; filename=".$archivo);
}
header( "Content-Description: File Transfert");
@readfile($compuesto);
}