首页 > 解决方案 > 文件大小验证错误未存储在数组中

问题描述

我不明白为什么文件大小验证错误不显示文件大小是否超过 500kb,如果文件大小超出限制,它将文件名和文件 url 存储在数据库中,但文件不存储到目标。

if (isset($_POST['add'])) {
    $pic=$_FILES['pic']['name'];

    $allow_extension= array("png", "jpg", "jpeg");
    $extension=pathinfo($_FILES['pic']['name'], PATHINFO_EXTENSION);

    $errors=array();

    if(!in_array($extension,$allow_extension)) {
        $errors[]='Invalid file format. Try JPG, JPEG, PNG';
    }
    if ($_FILES['pic']['size']>500000) {
        $errors[]='Image size is more than 500kb';
    }

    if (empty($errors)==true) {
            $pic=time().$pic;
            $target="../images/slider/". $pic;
            move_uploaded_file($_FILES['pic']['tmp_name'],$target);
            $store="INSERT INTO slider (slider_name,slider_url) VALUES ('$pic', '$target')";
            if (mysqli_query($conn,$store)) {
                $msg="Store slider successful.";
                header("location:slider.php?msg=$msg");
            }
    }
        else {
            $msg=implode('. ', $errors);
            header("location:slider.php?msg=$msg");
        }
    }

标签: phpvalidation

解决方案


推荐阅读