Foros del Web » Programando para Internet » PHP »

determinar extensión de archivo

Estas en el tema de determinar extensión de archivo en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 28/03/2004, 11:49
Avatar de 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.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:29.