首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PHP :如何检查电影格式是MKV还是WMV

PHP :如何检查电影格式是MKV还是WMV
EN

Stack Overflow用户
提问于 2010-12-17 20:18:15
回答 3查看 2.5K关注 0票数 3

我使用finfo_file和mime_content_type,它在MKV和WMV上返回:应用程序/八位字节流PHP不能确定2这个视频格式?

如果必须使用FFMPEG决定(我不知道它可能或不可能)。那么什么是检查格式的命令。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-12-17 22:12:29

您可以做的一件事是读取文件的前几个字节,以检查它们是否与已知的文件签名相对应。

MKV文件签名特别是(十六进制):

代码语言:javascript
复制
1a 45 df a3

至于WMV,它应该是:

代码语言:javascript
复制
30 26 b2 75

请参阅以供参考:

Extensible Binary Meta Language

Advanced Systems Format

票数 1
EN

Stack Overflow用户

发布于 2010-12-17 20:45:09

使用文件扩展名:

http://www.php.net/manual/en/function.mime-content-type.php#94279

在Apache上,您只需将条目添加到mime.types文件(Apache/conf/mime.type)。只需使用任意编辑打开该文件,然后添加两行即可。

代码语言:javascript
复制
your/mimetype      mkv
another/type       mvw 

如果您在共享主机上或不想打乱服务器设置,则可以将文件复制到脚本可以访问它的位置,并将路径作为mime_content_type的第二个参数传递。

分析文件内容:

如果你必须验证它是否真的是一个mkv/mvm,有另一个解决方案,但它在共享主机上不起作用:

http://www.php.net/manual/de/function.mime-content-type.php#91646

票数 0
EN

Stack Overflow用户

发布于 2010-12-18 00:11:04

最新版本的magic_mime数据库可以毫无问题地识别mkv/wmv文件。最像你的共享主机有一个古老的数据库版本。

您可以通过执行以下操作强制使用其他数据库文件(包括mkv/wmv定义):

代码语言:javascript
复制
$handle = finfo_open('FILEINFO_MIME_TYPE', '/path/to/updated/database/file').

您应该能够从Linux发行版的fileinfo类型的包中提取更新后的数据库文件。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4470367

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档