Php mime\u content\u type()函数未定义
我正在使用Php mime\u content\u type()函数未定义,php,Php,我正在使用mime\u content\u type()函数进行文件上载,它在本地主机上运行良好,但在我的live server上遇到以下错误: 致命错误:调用未定义的函数mime\u content\u type() 您必须打开mime\u magic扩展名。检查php.ini并查看phpinfo()。顺便说一句,这个函数已经被弃用,因为PECL扩展以更干净的方式提供了相同的功能(以及更多) Windows用户必须在中包含捆绑的php_fileinfo.dll文件 php.ini来启用此扩展
mime\u content\u type()
函数进行文件上载,它在本地主机上运行良好,但在我的live server上遇到以下错误:
致命错误:调用未定义的函数mime\u content\u type()
您必须打开
mime\u magic
扩展名。检查php.ini并查看phpinfo()。顺便说一句,这个函数已经被弃用,因为PECL扩展以更干净的方式提供了相同的功能(以及更多)
Windows用户必须在中包含捆绑的php_fileinfo.dll文件
php.ini来启用此扩展
libmagic库与PHP捆绑在一起,但包括特定于PHP的库
变化。将维护一个名为libmagic.patch的libmagic补丁
可以在PHP fileinfo extensions源代码中找到
更新:
mime\u content\u type()
我的回答的早期版本:
mime\u content\u type()
可以为您提供有关该文件的信息以及更多信息
您可以使用如下所示的finfo()
function _mime_content_type($filename) {
$result = new finfo();
if (is_resource($result) === true) {
return $result->file($filename, FILEINFO_MIME_TYPE);
}
return false;
}
参考:
[1] :
可能缺少\php\extras\magic.mime文件。我将我的php版本从7.1更改为5.6。它对我有效。如果您使用共享主机,则可能未启用或未安装
如果未启用,请导航到的软件部分(如果未使用CPanel,请参阅控制面板的文档),然后单击选择PHP版本(或与此相关的内容),并通过选中其框并保存操作来启用扩展
如果未安装,扩展将不会成为cPanel>软件>选择PHP版本>扩展的PHP扩展的一部分,编辑PHP.ini
文件并取消注释extension=PHP_fileinfo.dll
(如果您在Windows上)。如果其中任何一个不起作用,请咨询托管提供商的文档。PHP8
编辑您的php.ini
文件并取消注释extension=fileinfo
重新启动HTTP服务器(例如Apache)
echo mime\u content\u type($path\u absolute.$file)//输出:应用程序/pdf
PHP7
编辑php.ini
文件并取消对extension=php\u fileinfo.dll的注释
重新启动HTTP服务器(例如Apache)
echo mime\u content\u type($path\u absolute.$file)//输出:应用程序/pdf
->阅读第一条注释的第一行。还请注意,该函数已被弃用:改用。在PHP 5.3.0之前,mime_content_type()仅通过PECL fileinfo扩展提供-您正在运行什么版本的PHP?手册中有相关说明。未被弃用或记录为需要任何特殊的东西。但是由于它不起作用,我已经编写了自己的函数。finfo是一个pecl扩展,因此如果扩展不起作用,它将不起作用installed@Okneloper不再是,从安装文档开始“此扩展从PHP 5.3.0开始默认启用。在此之前,fileinfo是一个PECL扩展,但不再在那里维护
”然而,我测试的5.6的安装给了我一个“致命错误:找不到'finfo'类”@Okneloper它是windows平台吗?如果是,那么您需要执行此操作,Windows用户必须在php.ini中包含捆绑的php\u fileinfo.dll文件才能启用此扩展。
no不是。这是一个世纪与Cpanel。谢谢你的努力。最近,php_文件信息扩展