Pour éviter d'utiliser une table de recherche (au moins éviter vous devoir en définir un), vous pouvez utiliser finfo_file
.
echo finfo_file('myfile.jpg', finfo_open(FILEINFO_MIME_TYPE)); // output: image/jpg
Si vous êtes sur 5.0, vous pouvez essayer mime_content_type
(Mais gardez à l'esprit c'est dépréciée, donc si vous cherchez mise à niveau compatible, vous voudrez peut-être par défaut au nouveau finfo_file
si possible) :
echo mime_content_type('myfile.jpg'); // output: image/jpg
// When possible, it will use upgraded finfo_file, but will default back
// to content_mime_type when necessary
function getMimeType($file){
if (function_exists('finfo_file') && defined('FILEINFO_MIME_TYPE')){
$return_mime = finfo_open(FILEINFO_MIME_TYPE);
return finfo_file($file, $return_mime);
}
return content_mime_type($file);
}
Êtes-vous demande, en substance pour une décharge de [type à extension mime] (http://www.webmaster-toolkit.com/mime-types.shtml) dans un liste déposée? PHP a aussi [finfo_file] (http://www.php.net/manual/fr/function.finfo-file.php) que vous pouvez utiliser. –
Je ne veux pas faire une liste de mimes et d'extensions – Gadonski
'Je ne veux pas utiliser array (" mime "=>" extension ");' - vous devez utiliser * some * type de table de recherche, chaque méthode implémentée pour le faire a une forme de table de recherche quelque part dedans. – DaveRandom