我正在使用该mime_content_type()
功能进行文件上传,它在本地主机上运行良好但是我在我的实时服务器上遇到以下错误:
致命错误:调用未定义函数 mime_content_type()
我正在使用该mime_content_type()
功能进行文件上传,它在本地主机上运行良好但是我在我的实时服务器上遇到以下错误:
致命错误:调用未定义函数 mime_content_type()
更新:
mime_content_type()
不再被弃用,php7 现在已经支持这个功能。
我的答案的早期版本:
mime_content_type()
已弃用,可能是因为 [fileinfo][1] 可以为您提供有关文件的信息以及更多信息。您可以使用 finfo() 如下所示,
function _mime_content_type($filename) { $result = new finfo(); if (is_resource($result) === true) { return $result->file($filename, FILEINFO_MIME_TYPE); } return false; }
参考:https ://stackoverflow.com/a/1263977/1161412
[1]: http: //php.net/manual/en/class.finfo.php
编辑您的php.ini
文件并取消注释extension=fileinfo
。
重新启动您的 HTTP 服务器(例如 Apache)。
echo mime_content_type($path_absolute.$file);//Outputs: application/pdf
编辑您的php.ini
文件并取消注释extension=php_fileinfo.dll
。
重新启动您的 HTTP 服务器(例如 Apache)。
echo mime_content_type($path_absolute.$file);//Outputs: application/pdf
如果您在共享主机上,则可能未启用或未安装fileinfo PHP 扩展。
如果未启用,请导航到 CPanel 的软件部分(如果您不使用 CPanel,请查阅控制面板的文档)并单击选择 PHP 版本(或与之相关的内容)并通过选中其框启用扩展并保存您的操作。
如果未安装,则该扩展将不会成为 PHP 扩展的一部分,如果您在 Windows上cPanel > Software > Select PHP Version > Extensions
,请编辑您的php.ini
文件并取消注释。extension=php_fileinfo.dll
如果其中任何一个不起作用,请咨询您的托管服务提供商的文档。
我将我的 php 版本从 7.1 更改为 5.6 它对我有用
可能缺少 \php\extras\magic.mime 文件。