Php 需要上传多张压缩图像的帮助吗
我有下面这些代码来上传压缩的单个图像。但现在我想上传多张图片。是否有人可以使用以下代码帮助上载多个图像:Php 需要上传多张压缩图像的帮助吗,php,html,image,upload,compression,Php,Html,Image,Upload,Compression,我有下面这些代码来上传压缩的单个图像。但现在我想上传多张图片。是否有人可以使用以下代码帮助上载多个图像: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Upload Compress and Check</title> </head> <body>
<!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>";
}
}
?>
上传压缩和检查
更改输入“文件”元素的位:
没关系,现在您可以使用$_FILES[“file”][“name”][0]获取第一个文件的名称,或者使用$_FILES[“file”][“tmp_name”][1]获取第二个文件的tmp_名称,依此类推
我希望您能理解,我无法解释更多,因为我正在使用电话…所以您希望我们将您的单文件上传内容修改为多个文件?为了让多个文件正常工作,你做了什么?@Jon是的,这就是我想要的。如果可能的话,请帮忙。谢谢你,好的。所以需要添加name=“file[]”以及php代码。如何循环它?您可以使用for($i=0;$ifor($i=0;$i
<input type="file" multiple name="file[]" id="file" accept="image/*" />