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?

È stato utile?

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top