finfo_file
是 PHP 中用于检测文件 MIME 类型的函数
-
确保已安装 Fileinfo 扩展:
在 PHP 5.3.0 及更高版本中,Fileinfo 扩展已默认包含。要使用
finfo_file
函数,请确保已在php.ini
文件中启用了 Fileinfo 扩展。在php.ini
文件中取消以下行的注释(如果有):extension=fileinfo
然后重启你的 web 服务器。
-
使用
mime_content_type
函数作为替代方案:如果你的 PHP 版本低于 5.3.0,可以考虑使用
mime_content_type
函数。这个函数在 PHP 4.3.0 及更高版本中可用,但已在 PHP 7.2.0 中被废弃。使用示例:$mime_type = mime_content_type($filename);
-
使用第三方库:
如果上述方法都不可行,可以考虑使用第三方库来检测文件的 MIME 类型。例如,可以使用 PHP Mimey 库。首先,通过 Composer 安装该库:
composer require ralouphie/mimey
然后在代码中使用它:
require 'vendor/autoload.php'; use Mimey\MimeTypes; $mimes = new MimeTypes; $mime_type = $mimes->getMimeType($extension);
通过以上方法,你应该能解决 PHP finfo_file
的兼容性问题。