Come classificare i tipi Mime (PHP)
-
22-07-2019 - |
Domanda
Sto cercando uno snippet di codice che classifica i tipi mime.
Ad esempio,
application / pdf
application / vnd.oasis.opendocument.text
application / pdf
Entrambi sono file di Office. Quando passo questo tipo mime alla funzione, voglio che restituisca un risultato che sia 'ufficio', 'immagine', 'applicazione', 'compresso' ecc.
Tuttavia, come sai, ci sono centinaia di tipi MIME e non riesco a collezionarli tutti.
Sai dove posso trovarlo?
Soluzione
Non conosco nessuno script esistente che classifichi questi tipi come desideri. Potrebbe essere necessario creare questa funzione da soli in base alle distinzioni richieste, ad es. application / msword - > ufficio anziché applicazione, ecc.
Poiché le tue classificazioni sono abbastanza arbitrarie e particolari per il tuo caso d'uso, probabilmente dovrai classificarle tu stesso nelle categorie desiderate, ad es. utilizzando una funzione simile alla seguente:
/**
* 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];
}
Raccogliere tutti i tipi di mime per farlo potrebbe richiedere molto tempo, anche se ci sono un certo numero di siti Web che hanno elenchi di grandi dimensioni per iniziare.