mime_content_type() 已弃用。

我怎样才能找到 MIME type 使用本地文件的 PHP5 但不使用这种已弃用的方法或 PECL fileinfo 扩大?

编辑:这就是我所害怕的。不幸的是,他们弃用了内置函数,转而选择需要并不总是可用的扩展的函数。

有帮助吗?

解决方案

如果您无法使用 fileinfo 扩展名,并且不想使用 mime_content_type,那么您的选择就受到限制。

您很可能需要根据文件扩展名进行查找。mime_content_type 做了一些更智能的事情,实际上是在文件中查找特殊数据来确定 mime 类型。

其他提示

获取ID3() 库是一个快速且简单的大多数时间选项。该库最初以获取 MP3 ID3 数据的项目命名,但它的功能远不止于此,而且对于各种常见或奇怪的文件元数据任务非常方便。

我用它来获取在线图像和视频工具的 MIME 类型的文件。在我所做的所有测试中,我没有看到 getID3 得到错误的 MIME 类型。

我还用它来检查 QuickTime 视频是否有流媒体提示。我提到这是作为多功能性的一个例子。

第二个更耗时的选项是按照已经建议的方式使用您自己的 MIME 类型检查器。如果您有 MIME 魔法文件,则可以通过将文件数据的前 n 字节与从 MIME 魔法文件派生的 MIME 类型查找表进行比较,从而比查找文件扩展名更进一步。

典型的 MIME magic 文件将包含超过 500 组 MIME 类型,这可能会导致比较缓慢(需要进行大量检查)。在您的家庭解决方案中对 10 种最常见的 MIME 类型检查进行硬编码将有所帮助。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top