Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/03/2004, 11:49
Avatar de andinistas
andinistas
 
Fecha de Ingreso: julio-2003
Ubicación: Bogotá COL
Mensajes: 1.000
Antigüedad: 20 años, 9 meses
Puntos: 0
Pregunta determinar extensión de archivo

Hola tengo un sistema de descargas de archivos, .doc .xls .pdf
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);

bueno el code anterior no me funciona porque no me esta determinando la extension del archivo a descargar
__________________
Un Saludo, Andinistas.
"Llegaron... Ellos tenían la biblia y nosotros la tierra... y nos dijieron: 'Cierren los ojos y recen.' Cerramos los ojos y cuando los abrimos,
ellos tenían la tierra y nosotros la biblia." Abadío Green.