我正在使用PHP 5.3,我已经检查过我的fileinfo已启用。但是,当我运行我的代码时,它发生错误
致命错误:调用未定义 function finfo_open()
任何人都可以帮我解决这个问题,这是我的代码。
$mime=finfo_open(FILEINFO_MIME,filename);
echo "File Type is: ".$mime;
答案 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
吗?