需要有关使用压缩上传多个图像的帮助


Need help on Uploading Multiple Image with compression

我下面有这些代码来上传带有压缩的单个图像。但现在我想上传多张图片。有人可以使用以下代码帮助上传多个图像吗:

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
         <title>Upload Compress and Check</title>
     </head>
     <body>
     <form action="" method="post" enctype="multipart/form-data">
           <input type="file" name="file" id="file" accept="image/*" />
           <input type="submit" name="btnsubmit" value="submin" id="submit" />
     </form>
</body>
</html>
<?php 
function compress_image($source_url, $destination_url, $quality) { 
    $info = getimagesize($source_url); 
    if ($info['mime'] == 'image/jpeg') $image = imagecreatefromjpeg($source_url); 
    elseif ($info['mime'] == 'image/gif') $image = imagecreatefromgif($source_url); 
    elseif ($info['mime'] == 'image/png') $image = imagecreatefrompng($source_url); 
    elseif ($info['mime'] == 'image/jpg') $image = imagecreatefrompng($source_url);
    imagejpeg($image, $destination_url, $quality); 
    return $destination_url; 
} 
if(isset($_POST['btnsubmit'])){
    if(isset($_FILES['file']['name']) && $_FILES['file']['name'] != ""){
        $filename = $_FILES['file']['name'];
        $file_tmp = $_FILES['file']['tmp_name'];
        $file_size = $_FILES['file']['size'];
        $file_type = $_FILES['file']['type'];
        $file_error = $_FILES['file']['error'];
        $target_dir = "img/";
        $target_file = $target_dir . basename($_FILES["file"]["name"]);
        $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
        $uploadOk = 1;
        if(file_exists($target_file)){  exist or not
            echo "<script>alert('sorry, file already exists.');</script>";
            $uploadOk = 0;
        }else if ($file_size > 500000) { 
            echo "<script>alert('sorry, your file is too large.');</script>";
            $uploadOk = 0;
        }else if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg" && $imageFileType != "gif" ) { 
            echo "<script>alert('sorry, only JPG, JPEG, PNG & GIF files are allowed.');</script>";
            $uploadOk = 0;
        }else if($file_error > 0){ 
            echo "<script>alert('Your file is corrupted!');</script>";
            $uploadOk = 0;
        }
        if($uploadOk == 0){ 
            echo "<script>alert('sorry, your file was not uploaded!');</script>";
        }else{
            $rand = md5(sha1(rand(10000, 10000000))); 
            $url = $target_dir . $rand . '.jpg'; 
            $filename = compress_image($_FILES["file"]["tmp_name"], $url, 80); 
        }
    }else{
        echo "<script>alert('No image to upload!');</script>";
    }
  }
?>

提前谢谢。。。。。

更改输入"file"元素的位:

<input type="file" multiple name="file[]" id="file" accept="image/*" />

可以了,现在您可以使用$_FILES["file"]["name"][0]来获取第一个文件的名称,或者使用_FILES]"file"]["tmp_name"][1]来获取第二个文件的tmp_name,依此类推

我希望你能理解,我不能解释更多,因为我在用电话。。。