¿Obtener el tipo MIME de un archivo local en PHP5 sin una extensión PECL?

StackOverflow https://stackoverflow.com/questions/51110

  •  09-06-2019
  •  | 
  •  

Pregunta

mime_content_type() es obsoleto.

¿Cómo puedo encontrar el MIME type de un archivo local usando PHP5 pero sin utilizar este método obsoleto o el PECL fileinfo ¿extensión?

Editar:Eso es lo que tenía miedo.Es lamentable que hayan desaprobado una función incorporada en favor de una que requiere una extensión que no siempre está disponible.

¿Fue útil?

Solución

Si no puede usar la extensión fileinfo y no desea usar mime_content_type, sus opciones son limitadas.

Lo más probable es que necesites realizar una búsqueda según la extensión del archivo.mime_content_type hizo algo un poco más inteligente y buscó datos especiales en el archivo para determinar el tipo mime.

Otros consejos

El obtenerID3() La biblioteca es una opción rápida y sencilla que funciona la mayor parte del tiempo.Originalmente llamada así por un proyecto para obtener datos MP3 ID3, la biblioteca hace mucho más que eso y es bastante conveniente para todo tipo de tareas de metadatos de archivos comunes o impares.

Lo he usado para obtener tipos de archivos MIME para herramientas de imágenes y videos en línea.En todas las pruebas que he realizado, no he visto que getID3 tenga un tipo MIME incorrecto.

También lo he usado para comprobar si los vídeos QuickTime tienen sugerencias de transmisión.Menciono esto como un ejemplo de versatilidad.

Una segunda opción que requiere más tiempo es ejecutar su propio verificador de tipo MIME como ya se sugirió.Si tiene un archivo mágico MIME, puede ir un poco más allá de una búsqueda en la extensión del archivo comparando los primeros n bytes de datos del archivo con una tabla de búsqueda de tipo MIME de primeros n bytes derivada de su archivo mágico MIME.

Un archivo mágico MIME típico contendrá más de 500 conjuntos de tipos MIME, lo que puede resultar en comparaciones lentas (muchas comprobaciones que hacer).Codificar las 10 comprobaciones de tipo MIME más comunes en su solución casera le ayudará.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top