Overzicht van MIME types per extensie

Apache heeft een lijst beschikbaar gesteld met Internet media types op http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types.

Deze lijst kunnen we met de onderstaande code inlezen, deze genereert vervolgens de array $mime_types.

define('APACHE_MIME_TYPES_URL','http://svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types');

function generateUpToDateMimeArray($url){
    $s=array();
    foreach(@explode("\n",@file_get_contents($url))as $x)
        if(isset($x[0])&&$x[0]!=='#'&&preg_match_all('#([^\s]+)#',$x,$out)&&isset($out[1])&&($c=count($out[1]))>1)
            for($i=1;$i<$c;$i++)
                $s[]='   \''.$out[1][$i].'\' => \''.$out[1][0].'\'';
    return @sort($s)?'$mime_types = array(
'.implode($s,',
').'
);':FALSE; } echo generateUpToDateMimeArray(APACHE_MIME_TYPES_URL);

Met deze Array bepalen we het MIME type van een bestand op basis van de extensie:

$extension = strtolower(pathinfo($filename, PATHINFO_EXTENSION));
$mime_type = $mime_types[$extension];

Download: $mime_types (laatst bijgewerkt op zaterdag 6 april 2013)

Zie ook: Detecteren MIME type van een bestand