我正在尝试上传文件,并检查上传的文件是否真的是pdf文件,因此我求助于php中的fileinfo
函数。
问题是代码没有验证任何内容。它将允许上传各种文件,包括病毒。目前,我正在检查文件扩展名,但是它不安全,这就是为什么使用fileinfo
的原因。有人可以告诉我代码有什么问题吗?我正在运行php版本5.3.5
if (function_exists('finfo_open')) {
$mime = finfo_open(FILEINFO_MIME_TYPE);
$mime_type = finfo_file($mime, $_FILES['myfile']['tmp_name']);
if ($mime_type == "application/pdf") {
echo "file is pdf";
} else {
echo "file is not pdf";
finfo_close($mime);
exit();
}
}
答案 0 :(得分:1)
问题与在 php.ini 文件中启用fileinfo.dll有关。
我去了php.ini,取消注释/删除了; extension = php_fileinfo.dll
前的分号。,这样看起来就像下面 extension = php_fileinfo.dll
然后我保存并重新启动apche,然后看,它现在可以工作了。谢谢