php fileinfo文件上传验证不起作用

时间:2018-09-07 21:12:24

标签: php

我正在尝试上传文件,并检查上传的文件是否真的是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();
    }
}

1 个答案:

答案 0 :(得分:1)

问题与在 php.ini 文件中启用fileinfo.dll有关。

我去了php.ini,取消注释/删除了; extension = php_fileinfo.dll

前的分号。

,这样看起来就像下面 extension = php_fileinfo.dll

然后我保存并重新启动apche,然后看,它现在可以工作了。谢谢