fileinfo_open()致命错误

时间:2009-11-17 09:06:55

标签: php

我正在使用PHP 5.3,我已经检查过我的fileinfo已启用。但是,当我运行我的代码时,它发生错误

  

致命错误:调用未定义   function finfo_open()

任何人都可以帮我解决这个问题,这是我的代码。

$mime=finfo_open(FILEINFO_MIME,filename);
        echo "File Type is: ".$mime;

2 个答案:

答案 0 :(得分:0)

“filename”必须是包含“MIME magic”数据库的文件。如果要确定文件类型,首先需要打开MIME数据库,然后要求该数据库识别该文件。

例如,如果MIME数据库存储在/usr/share/misc/magic.mgc(大多数Linux发行版存储在那里),您可以这样做:

// open MIME database
$finfo = finfo_open(FILEINFO_MIME, "/usr/share/misc/magic.mgc");
if (!$finfo)
    die("error opening MIME info database");

// print out MIME information of "some-file-name-here"
echo finfo_file($finfo, "some-file-name-here");

finfo_close($finfo);

但是,如果这是虚拟主机提供商,您可能需要将magic.mgc文件复制到公共Web目录中。

答案 1 :(得分:0)

也许你错过了php.ini中的一些配置。要么你没有打开扩展(或动态库),要么在php.ini中建议here一行。

清单:

  • 你的php.ini enable_dl = On中有一行吗?

  • 您有一行extension=fileinfo.so吗?