在PHP中检测MIME类型

Jac*_*ght 6 php mime mime-types

我正在寻找最好的(可能在大多数PHP 5.2安装和仍然积极开发)的方式来检测PHP中的文件MIME类型.

我知道该mime_content_type()方法和Fileinfo扩展,但是mime_content_type()不可靠和不推荐使用,并且Fileinfo没有进入"标准"PHP(5.2)安装.

我还有其他选择吗?

EMP*_*tor 11

(很抱歉,我意识到这是在几个月前因为我正在完成而被问到的.哦,好吧.不妨加上这个...)

如果它是*nix服务器,您可以使用file命令.

file -bi <filepath>
Run Code Online (Sandbox Code Playgroud)

你必须在PHP中使用"exec"才能做到这一点吗?我是PHP的新手所以不要引用我这个但是......

$content_type = exec("file -bi " . escapeshellarg($filepath));
Run Code Online (Sandbox Code Playgroud)

我没有测试它,所以你可能需要转义路径字符串并格式化输出.

Dunno,如果这比其他方法更可靠.

  • 我使用文件-b --mime-type $ filename,但很好的答案! (2认同)

Jer*_*oot 5

你看过这个PEAR包了吗?

http://pear.php.net/package/MIME_Type