我正在使用php函数finfo_file来确定mimetype,它会将.mpg文件报告为application / octet-stream而不是video / mpeg。
我正在使用CentOS,在/etc/mime.types中我看到了:
# grep 'mpg' /etc/mime.types
audio/mpeg mpga mp2 mp3
video/mpeg mpeg mpg mpe
以下更新的示例代码:
$file = '/tmp/sample.mpg';
$fi = new finfo( FILEINFO_MIME_TYPE );
echo $fi->file( $file );
输出:
application/octet-stream
答案 0 :(得分:2)
这些PHP函数依赖于提供魔术文件,它提供数据来分析文件的内容以确定其类型。在Unix系统上,此功能通过file
命令公开。
从来没有看过/etc/mime.types
。
由于您没有在构造函数中指定magic文件的路径,因此默认情况下PHP使用/usr/share/misc/magic
。在CentOS中,此文件由file-libs
包提供。如果包丢失或损坏,您可能会得到意想不到的结果。