Question

mime_content_type() est obsolète.

Comment puis-je trouver le MIME type d'un fichier local en utilisant PHP5 mais sans utiliser cette méthode obsolète ou le PECL fileinfo extension?

Modifier:C'est ce dont j'avais peur.Il est regrettable qu'ils aient abandonné une fonction intégrée au profit d'une fonction nécessitant une extension qui n'est pas toujours disponible.

Était-ce utile?

La solution

Si vous ne pouvez pas utiliser l'extension fileinfo et que vous ne souhaitez pas utiliser mime_content_type, vos options sont limitées.

Vous devrez probablement effectuer une recherche basée sur l'extension du fichier.mime_content_type a fait quelque chose d'un peu plus intelligent et a en fait recherché des données spéciales dans le fichier pour déterminer le type MIME.

Autres conseils

Le obtenirID3() La bibliothèque est une option rapide et facile qui fonctionne la plupart du temps.Initialement nommée pour un projet visant à obtenir des données MP3 ID3, la bibliothèque fait bien plus que cela et est très pratique pour toutes sortes de tâches de métadonnées de fichiers courantes ou étranges.

Je l'ai utilisé pour obtenir les types de fichiers MIME pour les outils d'image et de vidéo en ligne.Dans tous les tests que j'ai effectués, je n'ai pas vu getID3 se tromper de type MIME.

Je l'ai également utilisé pour vérifier si les vidéos QuickTime comportent des astuces de streaming.Je mentionne cela comme un exemple de polyvalence.

Une deuxième option, plus longue, consiste à lancer votre propre vérificateur de type MIME, comme déjà suggéré.Si vous avez un fichier magique MIME, vous pouvez aller un peu plus loin qu'une recherche sur l'extension de fichier en comparant les n premiers octets de données du fichier avec une table de recherche de type MIME de n premiers octets dérivée de votre fichier magique MIME.

Un fichier magique MIME typique contiendra plus de 500 ensembles de types MIME, ce qui peut entraîner des comparaisons lentes (de nombreuses vérifications à effectuer).Le codage en dur des 10 vérifications de type MIME les plus courantes dans votre solution maison vous y aidera.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top