在PHP5.2中获取文件MIME类型的问题

在PHP5.2中获取文件MIME类型的问题,php,mime-types,Php,Mime Types,我正在尝试使用PHPVersion5.2.17(Linux服务器)获取MIME类型的文件。 我在另一台运行PHP版本5.2.6-1+lenny16(也是Linux)的服务器上使用了以下脚本,它运行得很好: if (in_array(mime_content_type($dir . $img), $image_types)) { ... } 今天,我尝试在第一台服务器上使用相同的方法,但没有成功: Fatal error: Call to undefined function mime_cont

我正在尝试使用
PHPVersion5.2.17
(Linux服务器)获取MIME类型的文件。 我在另一台运行PHP版本5.2.6-1+lenny16(也是Linux)的服务器上使用了以下脚本,它运行得很好:

if (in_array(mime_content_type($dir . $img), $image_types)) { ... }
今天,我尝试在第一台服务器上使用相同的方法,但没有成功:

Fatal error: Call to undefined function mime_content_type()
因此,我查看了PHP手册,发现函数
mime\u content\u type
已被弃用-因此我尝试了以下方法:

$finfo = finfo_open(FILEINFO_MIME_TYPE);
if (in_array(finfo_file($finfo, $dir . $img), $image_types)) { ... }
finfo_close($finfo);
但是,令我惊讶的是:

Fatal error: Call to undefined function finfo_open()
然后我检查并注意到,
finfo
仅在PHP>=5.3.0时受支持,因此最后一个错误是有意义的

我想也许第一个设置是不允许任何不推荐的函数?这可能吗

但这是否意味着在运行PHP 5.2.17版的服务器上无法检测文件MIME类型?! 还是仅仅有另一个功能可以使用

谢谢你的提示


PS:我不是这两台服务器的管理员。

尝试使用
mime\u content\u type(filename)
:)

这是我在第一种情况下尝试的,只是filename参数被创建为两个字符串的串联-这不是问题的根源;)哎呀。很抱歉mime模块在您的服务器上激活了吗?这就是问题所在-不是服务器管理员我不知道也许您可以让服务器管理员检查模块是否激活enabled@Bojangles谢谢!我注意到您的解决方案是
$mime=exec(“file-iL$filename 2>/dev/null”),但我不太明白它是如何工作的-你能澄清一下吗?谢谢