گرفتن MIME پسوندهای معروف
۲۸ دى ۱۳۸۹ ساعت ۰۲:۳۴
پی اچ پی
تابع get_mime
تابع زیر حاوی یک آرایه شامل پرکاربردین پسوندهاست که با دادن نام فایل میتونیم MIME Content-Type فایل رو بگیریم.
این تابع دو روش استاندارد رو امتحان میکنه در صورت نتیجه نگرفتن از آرایه استفاده میکنه.
/**
* Returns MIME Content-Type By filename
*
* @param string $filename File name or path
* @return string New MIME-Type
*/
function get_mime($filename) {
if(function_exists('finfo_file')) {
$finfo = finfo_open(FILEINFO_MIME_TYPE);
$mime = finfo_file($finfo, $filename);
finfo_close($finfo);
return $mime;
}
if(function_exists('mime_content_type')) {
return mime_content_type($filename);
}
$map = array(
'txt'=>'text/plain','htm'=>'text/html',
'html'=>'text/html','php'=>'text/html',
'css'=>'text/css','js'=>'application/javascript',
'json'=>'application/json','xml'=>'application/xml',
'swf'=>'application/x-shockwave-flash',
'flv'=>'video/x-flv','png'=>'image/png',
'jpe'=>'image/jpeg','jpeg'=>'image/jpeg',
'jpg'=>'image/jpeg','gif'=>'image/gif',
'bmp'=>'image/bmp','tiff'=>'image/tiff',
'ico'=>'image/vnd.microsoft.icon',
'tif'=>'image/tiff','svg'=>'image/svg+xml',
'svgz'=>'image/svg+xml','zip'=>'application/zip',
'rar'=>'application/x-rar-compressed',
'exe'=>'application/x-msdownload',
'msi'=>'application/x-msdownload',
'cab'=>'application/vnd.ms-cab-compressed',
'mp3'=>'audio/mpeg','qt'=>'video/quicktime',
'mov'=>'video/quicktime','pdf'=>'application/pdf',
'psd'=>'image/vnd.adobe.photoshop',
'ai'=>'application/postscript',
'eps'=>'application/postscript',
'ps'=>'application/postscript',
'doc'=>'application/msword','rtf'=>'application/rtf',
'xls'=>'application/vnd.ms-excel',
'ppt'=>'application/vnd.ms-powerpoint',
'odt'=>'application/vnd.oasis.opendocument.text',
'ods'=>'application/vnd.oasis.opendocument.spreadsheet'
);
$ext = end( explode('.',strtolower($filename)) );
return (array_key_exists($ext, $map) ?
$map[$ext] : 'application/octet-stream');
}
// Examples
echo get_mime('F:/Wamp/www/test.zip'); // application/zip
echo get_mime('test.flv'); // video/x-flv
echo get_mime('http://boplo.ir/path/test.css'); // text/css
با تشکر از ایشون.


Google Chrome
تو چی فکر می کنی؟