我使用 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
最佳答案
这些 PHP 函数依赖于提供一个神奇文件,该文件提供数据来分析文件的内容以确定其类型。在 Unix 系统上,此功能通过 file
命令公开。
它从来不会查看/etc/mime.types
。
由于您没有在构造函数中指定 magic 文件的路径,PHP 默认使用 /usr/share/misc/magic
。在 CentOS 中,此文件由 file-libs
包提供。如果包丢失或损坏,您可能会得到意想不到的结果。
关于php - 视频 mimetype .mpg,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12791492/