繁体   English   中英

文件上载不上载文件扩展名上的文件检查

[英]File Upload Not Uploading Files on File Extension Check

在检查上传图像的文件扩展名时,我的代码始终返回false,导致图像无法上传。 上传的图片具有适当的扩展名。

我的问题是为什么它不接受该文件? 如果检查是从文件中取出的,则会成功上传。

仅供参考,还有其他检查,所以不要担心这是我唯一的安全检查。 只是这是造成所有问题的那个。

$name = $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name'];
$pre_ext = explode(".", $tmp_name);
$ext = end($pre_ext);   

if (getimagesize($tmp_name) != false)
{
    //below is the check that is causing all the problems
    if ($ext == "PNG" || $ext == "png" || $ext == "jpg" || $ext == "JPG" || $ext == "jpeg" || $ext == "JPEG" || $ext == "GIF" || $ext == "gif"){
        if ($_FILES['file']['error'] == 0)      
        {
            move_uploaded_file($tmp_name, 'post_images/' . $name);
        }       
    }   
}
$name = $_FILES['file']['name'];
$tmp_name = $_FILES['file']['tmp_name'];
$pre_ext = explode(".", $name);

应该解决它。 我建议检查文件本身,而不仅仅是扩展名。 tmp_name是服务器上的临时名称,通常类似于/tmp/random8y7ofad9

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM