gpt4 book ai didi

php - 如何检测MIME类型的纯文本文件: CSS, Javascript, ini, sql?

转载 作者:可可西里 更新时间:2023-11-01 12:35:45 25 4
gpt4 key购买 nike

用 PHP 检测文件的 MIME 类型很简单 - 只需使用 PEAR 的 MIME_Type包,PHP 的 fileinfo或者在 Unix 机器上调用 file -i。这对于二进制文件和所有其他具有某种“魔法字节”的文件非常有效,通过它们可以轻松检测到它们。

我失败的是检测纯文本文件的正确 MIME 类型:

  • CSS
  • 差异
  • INI(配置)
  • Javascript
  • rST
  • SQL

所有这些都被标识为“text/plain”,这是正确的,但对我来说太不明确了。我需要真实类型,即使分析文件内容需要一些时间。

所以我的问题是:有哪些解决方案可以检测此类纯文本文件的 MIME 类型?任何图书馆?代码片段?


请注意,我既没有文件名也没有文件扩展名,但我有文件内容。


如果我使用 ruby​​,我可以集成 github's linguist . Ohloh 的 ohcount是用 C 写的,但是有一个命令行工具来检测类型:ohcount -d $file

我尝试过的

哦数

正确检测 xml 和 php 文件,所有其他文件不正确。

Apache 提卡

检测 xml 和 html,所有其他测试文件仅被视为 text/plain

最佳答案

因为我没有找到合适的库,所以我编写了自己的 magic 文件来正确检测我的所有测试文件。

我的应用程序首先尝试我的自定义魔术文件进行检测,如果未检测到任何类型,则回退到普通/系统魔术文件。

github上的代码,见https://github.com/cweiske/MIME_Type_PlainDetect .魔术文件位于 data/programming.magic并且可以与 file -f programming.magic/path/to/source

一起使用

关于php - 如何检测MIME类型的纯文本文件: CSS, Javascript, ini, sql?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10505056/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com