php - 视频 mimetype .mpg

标签 php centos mime-types

我使用 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/

相关文章:

php - MySQL - 返回表中的行数

amazon-web-services - AWS CentOS 根 key 对

处理 .JS 文件的简单请求时 Tomcat 响应挂起

html - 我可以在 img 标签中明确指定 MIME 类型吗

php - 如何在 zend 框架中设置 mime 类型?

php - goto 在 php 中不工作给出语法错误,第 10 行出现意外的 ':'

php - fgets结果后的自动空间?

git - 在 CentOS 中更新到最新的 git 版本 2.2.x

centos - CentOS 上的 ImageMagick 无法处理 PNG 文件

php - 两种类型的用户登录系统