Maison  >  Article  >  développement back-end  >  Comment identifier les MP3 et les images sans vérification des extensions ?

Comment identifier les MP3 et les images sans vérification des extensions ?

Susan Sarandon
Susan Sarandonoriginal
2024-11-04 08:13:30427parcourir

How to Identify MP3s and Images Without Extension Checks?

Identifier le format de fichier : distinguer les MP3 et les images sans vérification des extensions

L'approche standard pour déterminer le type d'un fichier consiste à analyser ses extensions possibles. Cependant, cette méthode peut s’avérer fastidieuse et inefficace. Cette question recherche une solution alternative pour déterminer si un fichier est un MP3 ou une image sans recourir aux vérifications d'extension.

La solution réside dans l'exploitation des capacités du langage natif. Pour les versions PHP inférieures à 5.3, la fonction mime_content_type() peut fournir le type MIME du fichier. À partir de PHP 5.3, finfo_fopen() prend en charge cette tâche.

Des alternatives telles que exif_imagetype et getimagesize existent également, mais leur fonctionnalité est limitée à l'identification des types de fichiers image. Si une analyse complète du type MIME est requise, l'extrait de code suivant offre une solution intéressante :

function getMimeType($filename)
{
    $mimetype = false;
    if(function_exists('finfo_fopen')) {
        // open with FileInfo
    } elseif(function_exists('getimagesize')) {
        // open with GD
    } elseif(function_exists('exif_imagetype')) {
       // open with EXIF
    } elseif(function_exists('mime_content_type')) {
       $mimetype = mime_content_type($filename);
    }
    return $mimetype;
}

Cette fonction proxy délègue efficacement la tâche au détecteur disponible sur votre système, garantissant une identification robuste et efficace du format de fichier. processus.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn