如何使用 PHP < 5.3 获取文件内容类型?

Posted

技术标签:

【中文标题】如何使用 PHP < 5.3 获取文件内容类型?【英文标题】:How to get file content-type with PHP < 5.3? 【发布时间】:2011-03-02 21:50:03 【问题描述】:

如何使用 php 检索文件的内容类型?

我不想单独依赖文件扩展名。

谢谢!

【问题讨论】:

【参考方案1】:

http://www.php.net/manual/en/function.mime-content-type.php 已被 PECL Fileinfo 扩展名弃用。

【讨论】:

不幸的是,我认为 PECL Fileinfo 扩展不适用于 【参考方案2】:

因为文件本身不一定存储 mime 类型,所以您必须使用各种方法来获取正确类型的提示。如果您知道该文件是图像,请使用 http://www.php.net/manual/en/function.getimagesize.php ... 您可以检查 .doc 或 .xsl 是否“看起来像”扩展名声称的那样,因为这些文件类型总是以相同的集合开头字节http://filext.com/file-extension/DOC(参见“识别字符”)。在某些情况下,如果不依赖扩展名就很难确定(例如,除了 .css 之外,text/plain 和 text/css 之间有什么区别,除非您要解析文件并考虑每种可能的文本类型? )

最后,您对自己感兴趣的文件类型了解得越多,就越能用它来验证文件是否属于该类型,并且花费更多的时间编写代码来完成这项工作,更好地确定正确的 mime 类型!

【讨论】:

以上是关于如何使用 PHP < 5.3 获取文件内容类型?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用获取参数将 laravel (5.3) 路由重定向到其他路由

在 PHP 5.3 中,如何在没有严格警告的情况下在一行中获取单个元素数组中的值

将 PHP 从 5.2 版本升级到 5.3

php正则匹配类

如何在变量中执行和获取 .php 文件的内容?

如何使用PHP读取文本文件内容