Foros del Web » Programando para Internet » PHP »

problemas con FILEINFO_MIME_TYPE

Estas en el tema de problemas con FILEINFO_MIME_TYPE en el foro de PHP en Foros del Web. Estimados, Tengo un problema al detectar el mime type con archivos xls y xlsx , con otro tipo de archivos funciona perfecto , lo que ...
  #1 (permalink)  
Antiguo 21/12/2012, 12:55
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
problemas con FILEINFO_MIME_TYPE

Estimados,

Tengo un problema al detectar el mime type con archivos xls y xlsx , con otro tipo de archivos funciona perfecto , lo que mi script hace es detectar el mimetype para luego asignarlo al forzar la descarga.

Código PHP:
Ver original
  1. if (is_file($path)) {
  2.     $tamano = filesize($path);
  3.     if (function_exists('FILEINFO_MIME_TYPE')) {
  4.         $tipo = FILEINFO_MIME_TYPE($path);
  5.     } else if (function_exists('finfo_file')) {
  6.         $info = finfo_open(FILEINFO_MIME_TYPE);
  7.         $tipo = finfo_file($info, $path);
  8.         finfo_close($info);
  9.     }
  10.    
  11.     //var_dump($tipo);
  12. //}  
  13.     if ($tipo == '') {
  14.         $tipo = "application/force-download";
  15.     }
  16.     // Leer cabeceras
  17.     header("Content-Type: $tipo");
  18.     header("Content-Disposition: attachment; filename=$archivo");
  19.     header("Content-Transfer-Encoding: binary");
  20.     header("Content-Length: " . $tamano);
  21.     // Descargar Archivo
  22.     readfile($path);
  23. } else {
  24.     die('El archivo que indicaste no existe!!');
  25. }

Espero , puedan ayudarme .

Saludos
  #2 (permalink)  
Antiguo 21/12/2012, 13:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: problemas con FILEINFO_MIME_TYPE

¿Que versión de PHP tienes?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 21/12/2012, 13:02
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: problemas con FILEINFO_MIME_TYPE

abimaelrc.

PHP Version 5.4.9-1~dotdeb.0
  #4 (permalink)  
Antiguo 21/12/2012, 13:16
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: problemas con FILEINFO_MIME_TYPE

Hmmm está supuesto que no tengas problemas con esas extensiones. ¿Qué te dice que son las extensiones?
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 21/12/2012, 13:20
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: problemas con FILEINFO_MIME_TYPE

En el caso de una imagen jpg me arroja esto: string(10) "image/jpeg"
En el caso de un excel: string(52) "Composite Document File V2 Document, No summary info"

Saludos
  #6 (permalink)  
Antiguo 21/12/2012, 13:39
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: problemas con FILEINFO_MIME_TYPE

La de la imagen de jpg está correcta y la de excel no detectó el formato. Ya eso lo puedes resolver cargando en el finfo_ open en el segundo parametro un magic que te pueda verificar ese tipo de archivo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 21/12/2012, 13:53
 
Fecha de Ingreso: enero-2011
Ubicación: /root
Mensajes: 530
Antigüedad: 13 años, 3 meses
Puntos: 61
Respuesta: problemas con FILEINFO_MIME_TYPE

Como puedo conseguir ese parametro magic , segun lo que veo en la pagina de php.net es una parametro con una ruta al servidor la cual no tengo http://php.net/manual/es/function.finfo-open.php acceso.
  #8 (permalink)  
Antiguo 21/12/2012, 14:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: problemas con FILEINFO_MIME_TYPE

El ejemplo es eso mismo un ejemplo. Debes conseguirlo en internet busca por magic.mime php 5.4 o en el mismo php.net
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
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 06:25.