*/␊ |
public static function getMimeTypeFromContent($file, $filedata)␊ |
{␊ |
// There is a bug/memory leak in finfo_buffer␊ |
// finfo_buffer works 99% of the time - so rather than␊ |
// replacing it with some complex mime check system - just create␊ |
// a list of extensions that we know␊ |
// And document the types best we can:␊ |
// po is a translation file in indefero - tried text/plain but the syntax highlight JS library didn't like it␊ |
$ext_hack = array("po" => "application/octet-stream");␊ |
$info = pathinfo($file);␊ |
$res = array('application/octet-stream',␊ |
$info['basename'],␊ |
isset($info['extension']) ? $info['extension'] : 'bin');␊ |
␊ |
if (array_key_exists($info["extension"], $ext_hack))␊ |
{␊ |
$res[0] = $ext_hack[$info["extension"]];␊ |
return $res;␊ |
}␊ |
␊ |
if (function_exists('finfo_open')) {␊ |
$finfo = finfo_open(FILEINFO_MIME);␊ |
$mime = finfo_buffer($finfo, $filedata);␊ |