【发布时间】:2018-09-07 21:12:23
【问题描述】:
我正在尝试上传文件并检查上传的文件是否真的是 pdf 文件,所以我求助于 php.ini 中的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();
}
}
【问题讨论】:
-
回显
$mime_type值,看看你会得到什么。 -
如果 echo $mime_type 它不会显示或回显任何内容。
-
您是否随时收到错误消息?
-
完全没有错误信息
-
如果执行此代码时没有显示任何消息,那么 if (function_exists('finfo_open')) 会返回 false。如果你删除它会发生什么?
标签: php