我整天都在网上搜索,找不到解决这个问题的合理方法。
我正试图帮助一个客户将一个从另一个主机转移到 Godaddy 共享主机的站点重新组合在一起。
该站点是使用 CakePHP 构建的,一行使用 mime_content_type,这在该服务器上不可用。 FILE 命令和文件信息都不是。
我尝试了 upgrade.php 替换,但它可能失败了,因为它找不到 mime_magic。
PEAR 解决方案因 FILE 不可用而失败。
有什么解决办法吗?
这里的唯一目标是找出文件是否为 PDF,而不是基于扩展名。
PHP 版本 5.2.17
非常感谢。
最佳答案
PDF 文件始终以 %PDF-
开头,因此您可以读取前 4 个字节并检查它们是否相等。
function is_pdf($fn) {
$f = fopen($fn, 'rb');
if ($f === false) return false;
$res = fread($f, 5) == '%PDF-';
fclose($f);
return $res;
}
但是,仅download 可能更容易MIME 魔术文件,并将其名称命名为 finfo_open
(php 5.3+) 或配置 mime_magic.magicfile
并使用 mime_content_type
。
关于php - 使用 PHP 检查上传文件的 mime 类型。 mime_content_type、fileINfo、linux 文件不可用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7668112/