So, sinnfrei oder nicht...
Dem Apache-Paket liegt eine Datei namens mime.types bei.
Darin sind ziemlich viele Zuordnungen mimetype->extensions enthalten.
PHP-Code:
<?php
function ext2mime( $extension )
{
static $ext2mime=null;
if( is_null($ext2mime) )
{
// Pfad anpassen
$pathToMimetypes = '/usr/Apache2/conf/mime.types';
$ext2mime = array();
$fp = fopen($pathToMimetypes, 'rb') or die('mime types konnten nicht eingelesen werden'); // "or die" erwünscht?
while( !feof($fp) )
{
$line = fgets($fp);
if ( '#'!==$line{0} )
{
$elements = array_filter( preg_split('!\s+!', trim($line)) );
if ( count($elements) > 1 )
{
$mime = array_shift($elements);
foreach($elements as $ext)
$ext2mime[ $ext ] = $mime;
}
}
}
}
$extension = strtolower($extension);
return isset($ext2mime[ $extension ]) ? $ext2mime[ $extension ] : false;
}
$ext = 'hqx';
echo $ext, ': ', ext2mime($ext);
?>