如何在php中添加图像验证,例如大小和重量

时间:2019-06-26 09:11:53

标签: javascript php ajax

如果尺寸和重量错误,我想插入带有“尺寸和重量”之类验证的图像,而不是在PHP中显示错误消息,请帮助我...

此处的PHP脚本...

if (isset($_POST['submit'])) {
    $extension = explode('.', $_FILES['image']['name']);
    $origname = $extension[0];
    $image = $origname . '-' . rand(10000, 99999) . '.' . $extension[1];
    $file_loc = $_FILES['image']['tmp_name'];
    $folder = "../image/banner/";
    move_uploaded_file($file_loc, $folder . $image);
    $query = mysqli_query($conn, "insert into banner(image) VALUES('$image')");
    $_SESSION['msg'] = " Successfully Added your banner Thank you!!";
}

3 个答案:

答案 0 :(得分:0)

要确定宽度和尺寸的确切大小,请检查此内容。如果有误,请让我纠正。     对于宽度:

$fileinfo = @getimagesize($_FILES["file-input"]["tmp_name"]);
$width = $fileinfo[0];
$height = $fileinfo[1];

//For Size (in bytes)

if (($_FILES["file-input"]["size"] > 2000000)) {
        $response = array(
            "type" => "error",
            "message" => "Image size exceeds 2MB"
        );
    } 

我可以安排这种类型的php代码吗?

$fileinfo = @getimagesize($_FILES["file-input"]["tmp_name"]);
           $width = $fileinfo[0];
           $height = $fileinfo[1];

          //For Size (in bytes)

         if (($_FILES["file-input"]["size"] > 2000000)) {
        $response = array(
            "type" => "error",
            "message" => "Image size exceeds 2MB"
            );
        } 
        $extension = explode('.', $_FILES['image'] ['name']);
        $origname= $extension[0];
        $image = $origname . '-' .rand(10000,99999) . '.' . $extension[1];
        $file_loc = $_FILES['image'] ['tmp_name'];
        $folder="../image/banner/";
         move_uploaded_file($file_loc,$folder.$image);

答案 1 :(得分:0)

// Check file size
if ($_FILES["fileToUpload"]["size"] > 500000) {
  echo "Sorry, your file is too large.";
  $uploadOk = 0;
}

要获得高度和宽度,您可以像这样

$data = getimagesize($filename);
$width = $data[0];
$height = $data[1];

通过$ width和$ height,您可以执行必要的操作

答案 2 :(得分:0)

if (isset($_POST['submit'])) {
                $fileinfo = @getimagesize($_FILES["file-input"]["tmp_name"]);
                $width = $fileinfo[0];
                $height = $fileinfo[1];
                $fileName = $_FILES['image']['name'];
                $explode = explode(".", $fileName);
                $origname = $explode[0];
                $image = $origname . '-' . rand(10000, 99999) . '.' . end($explode);
                $file_loc = $_FILES['image']['tmp_name'];
                if (($_FILES["file-input"]["size"] > 2000000)) {
                    $response = array(
                        "type" => "error",
                        "message" => "Image size exceeds 2MB"
                    );
                } else if ($width > "300" || $height > "200") {
                    $response = array(
                        "type" => "error",
                        "message" => "Image dimension should be within 300X200"
                    );
                } else {
                    $folder = "../image/banner/";
                    move_uploaded_file($file_loc, $folder . $image);
                    $query = mysqli_query($conn, "insert into banner(image) VALUES('$image')");
                    $_SESSION['msg'] = " Successfully Added your banner Thank you!!";
                }
            }