Comment classer les types Mime (PHP)
-
22-07-2019 - |
Question
Je recherche un extrait de code qui classe les types de mime.
Par exemple,
application / msword
application / vnd.oasis.opendocument.text
application / pdf
Les deux sont des fichiers bureautiques. Lorsque je transmets ces types mime à la fonction, je souhaite qu’elle renvoie un résultat "bureau", "image", "application", "compressé", etc.
Cependant, comme vous le savez, il existe des centaines de types de mime et je ne peux pas les collecter tous.
Savez-vous où puis-je le trouver?
La solution
Je ne connais aucun script existant qui classerait ces types à votre guise. Vous devrez peut-être créer cette fonction vous-même en fonction des distinctions requises, par exemple. application / msword - > bureau plutôt que l'application, etc.
Comme vos classifications sont assez arbitraires et propres à votre propre cas d'utilisation, vous devrez probablement les classer vous-même dans les catégories de votre choix, par exemple. en utilisant une fonction comme celle ci-dessous:
/**
* Classify mime types into pre-determined categories
* 2-d array used for simplicity of example, error
* checking omitted so unrecognised string returns
* empty value here...
*/
function categorize_mime_types($mime)
{
// Classify mime types into desired categories, key-val pairings
$mimes = array("application/msword"=>"office",
"application/vnd.oasis.opendocument.text"=>"office",
....
"image/jpeg"=>"image");
return $mimes[$mime];
}
La collecte de tous les types mime à cette fin peut prendre beaucoup de temps, bien qu'un certain nombre de sites Web aient grandes listes pour vous aider à démarrer.