我正在尝试确定文件的MIME类型。我尝试了几种方法,但没有得到一致的输出结果。我尝试过
解决方案(感谢Jacob)
$mime = mime_content_type($file)
和$mime = exec('file -bi ' . $file)
。我正在提供图像、CSS和JavaScript。
mime_content_type()
输出示例:
- jquery.min.js - text/plain
- editor.js - text/plain
- admin.css - text/plain
- controls.css - application/x-troff
- logo.png - text/plain
exec(...)
输出示例:
- jquery.min.js - text/plain; charset=us-ascii
- editor.js - text/x-c++; charset=us-ascii
- admin.css - text/x-c; charset=us-ascii
- controls.css - text/x-c; charset=us-ascii
- logo.png - image/png
解决方案(感谢Jacob)
$mimetypes = array(
'gif' => 'image/gif',
'png' => 'image/png',
'jpg' => 'image/jpg',
'css' => 'text/css',
'js' => 'text/javascript',
);
$path_parts = pathinfo($file);
if (array_key_exists($path_parts['extension'], $mimetypes)) {
$mime = $mimetypes[$path_parts['extension']];
} else {
$mime = 'application/octet-stream';
}
fileinfo
的? - Jacob Relkinpathinfo()
自PHP 4.0.3以来就存在 - http://us.php.net/pathinfo - Sonny