gpt4 book ai didi

php - PHP 5.3.8 上的 fileinfo Mime 类型检测失败

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:48:32 27 4
gpt4 key购买 nike

在 CentOS 服务器上安装了 PHP 5.3.8 的情况下,我无法使用文件信息检测简单 PNG 文件的 MIME 类型。

问题

基本上,如果我有以下代码:

<?php
$const = defined('FILEINFO_MIME_TYPE') ? FILEINFO_MIME_TYPE : FILEINFO_MIME;
$handle = finfo_open($const, '/usr/share/file/magic.mime');
$result = finfo_file($handle, '/var/vhosts/v4dev/public/Melvin.png');
echo $result;
unset($handle);
?>

如您所见,文件是 PNG 图像。文件的头字节已经过检查并且是正确的。但是这个页面输出了一个不正确的结果:

application/octet-stream

我猜这是因为无法检测到文件类型,并且 fileinfo 返回了默认响应,但我没有办法检查它。

我尝试过的

为了检查 magic.mime 文件的正确性,我使用了文件控制台命令:

file -m /usr/share/file/magic.mime /var/vhosts/v4dev/public/Melvin.png

返回预期结果:

/var/vhosts/v4dev/public/Melvin.png: image/png

我也尝试了 Apache 提供的另一个 magic.mime 文件,但问题仍然存在。

我尝试通过默认文件信息位置(使用符号链接(symbolic link)和文件副本)、使用 MAGIC 环境变量并通过在 中指定文件路径来指定 magic.mime 文件finfo_open 调用(如上)。

我尝试更新 PHP。

...现在我别无选择。


如果有人可以帮助我,我会通过空间发送幸福的波浪,让他/她从此过上幸福的生活。

干杯

最佳答案

那么为什么不从脚本中调用 file 命令呢?

$result = `file -bm /usr/share/file/magic.mime /var/vhosts/v4dev/public/Melvin.png`

当然,它并不完美,但它是一种选择。

关于php - PHP 5.3.8 上的 fileinfo Mime 类型检测失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7880678/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com