2011-05-25 05:40:52 +00:00
|
|
|
<?php
|
|
|
|
|
2011-08-04 02:18:58 +00:00
|
|
|
|
|
|
|
function z_mime_content_type($filename) {
|
2011-05-25 05:40:52 +00:00
|
|
|
|
|
|
|
$mime_types = 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',
|
|
|
|
|
|
|
|
// images
|
|
|
|
'png' => 'image/png',
|
|
|
|
'jpe' => 'image/jpeg',
|
|
|
|
'jpeg' => 'image/jpeg',
|
|
|
|
'jpg' => 'image/jpeg',
|
|
|
|
'gif' => 'image/gif',
|
|
|
|
'bmp' => 'image/bmp',
|
|
|
|
'ico' => 'image/vnd.microsoft.icon',
|
|
|
|
'tiff' => 'image/tiff',
|
|
|
|
'tif' => 'image/tiff',
|
|
|
|
'svg' => 'image/svg+xml',
|
|
|
|
'svgz' => 'image/svg+xml',
|
|
|
|
|
|
|
|
// archives
|
|
|
|
'zip' => 'application/zip',
|
|
|
|
'rar' => 'application/x-rar-compressed',
|
|
|
|
'exe' => 'application/x-msdownload',
|
|
|
|
'msi' => 'application/x-msdownload',
|
|
|
|
'cab' => 'application/vnd.ms-cab-compressed',
|
|
|
|
|
|
|
|
// audio/video
|
|
|
|
'mp3' => 'audio/mpeg',
|
2012-01-28 20:09:17 +00:00
|
|
|
'wav' => 'audio/wav',
|
2011-05-25 05:40:52 +00:00
|
|
|
'qt' => 'video/quicktime',
|
|
|
|
'mov' => 'video/quicktime',
|
|
|
|
'ogg' => 'application/ogg',
|
2013-01-12 13:31:32 +00:00
|
|
|
'mp4' => 'video/mp4',
|
|
|
|
'avi' => 'video/x-msvideo',
|
|
|
|
'wmv' => 'video/x-ms-wmv',
|
|
|
|
'wma' => 'audio/x-ms-wma',
|
2011-05-25 05:40:52 +00:00
|
|
|
|
|
|
|
// adobe
|
|
|
|
'pdf' => 'application/pdf',
|
|
|
|
'psd' => 'image/vnd.adobe.photoshop',
|
|
|
|
'ai' => 'application/postscript',
|
|
|
|
'eps' => 'application/postscript',
|
|
|
|
'ps' => 'application/postscript',
|
|
|
|
|
|
|
|
// ms office
|
|
|
|
'doc' => 'application/msword',
|
|
|
|
'rtf' => 'application/rtf',
|
|
|
|
'xls' => 'application/vnd.ms-excel',
|
|
|
|
'ppt' => 'application/vnd.ms-powerpoint',
|
|
|
|
|
|
|
|
|
|
|
|
// open office
|
|
|
|
'odt' => 'application/vnd.oasis.opendocument.text',
|
|
|
|
'ods' => 'application/vnd.oasis.opendocument.spreadsheet',
|
|
|
|
);
|
|
|
|
|
2011-08-04 02:18:58 +00:00
|
|
|
$dot = strpos($filename,'.');
|
|
|
|
if($dot !== false) {
|
|
|
|
$ext = strtolower(substr($filename,$dot+1));
|
2011-05-25 05:40:52 +00:00
|
|
|
if (array_key_exists($ext, $mime_types)) {
|
|
|
|
return $mime_types[$ext];
|
|
|
|
}
|
|
|
|
}
|
2012-01-28 20:09:17 +00:00
|
|
|
// can't use this because we're just passing a name, e.g. not a file that can be opened
|
|
|
|
// elseif (function_exists('finfo_open')) {
|
|
|
|
// $finfo = @finfo_open(FILEINFO_MIME);
|
|
|
|
// $mimetype = @finfo_file($finfo, $filename);
|
|
|
|
// @finfo_close($finfo);
|
|
|
|
// return $mimetype;
|
|
|
|
// }
|
2011-05-25 05:40:52 +00:00
|
|
|
else {
|
|
|
|
return 'application/octet-stream';
|
|
|
|
}
|
2011-08-04 02:18:58 +00:00
|
|
|
}
|
2011-05-25 05:40:52 +00:00
|
|
|
|