private static function detectMimeType($filename)
{
// finfo extension from PECL available
if (function_exists('finfo_open')) {
if (!isset(self::$fileinfoDb)) {
self::$fileinfoDb = finfo_open(FILEINFO_MIME);
}
if (self::$fileinfoDb) {
$info = finfo_file(self::$fileinfoDb, $filename);
}
}
// (deprecated) mime_content_type function available
if (empty($info) && function_exists('mime_content_type')) {
$info = mime_content_type($filename);
}
return empty($info) ? 'application/octet-stream' : $info;
}