如何循环此代码以一次压缩多个图像



这是我在php中压缩图像的代码,但我不知道如何循环它们,这样用户可以输入多个文件,然后进行转换。有可能做到吗???这是我的php代码片段

<?php
/*$input_image="sample.jpg";
$output_image="output.jpg";
$img=imagecreatefromjpeg($input_image);
imagejpeg($img,$output_image,10);*/
if(isset($_POST['submit'])){
$info=getimagesize($_FILES['image']['tmp_name']);
if(isset($info['mime'])){
if($info['mime']=="image/jpeg"){
$img=imagecreatefromjpeg($_FILES['image']['tmp_name']);
}elseif($info['mime']=="image/png"){
$img=imagecreatefrompng($_FILES['image']['tmp_name']);
}else{
echo "Only select jpg or png image";
}
if(isset($img)){
$output_image=time().'.jpg';
imagejpeg($img,$output_image,40);
echo "Processing done";}
}else{
echo "Only select jpg or png image";
}
}
?>

我的html代码片段

<form method="post" enctype="multipart/form-data">
<input type="file" name="image" required/>
<input type="submit" name="submit"/>
</form>

任何帮助都将不胜感激。谢谢。

if (isset($_POST['edit_am'])) { 
// Start of Image Upload
foreach($_FILES["pro_image"]["name"] as $key=>$val) {
$info=getimagesize($_FILES['pro_image']['tmp_name'][$key]);
if(isset($info['mime'])){
if($info['mime']=="image/jpeg"){
$img=imagecreatefromjpeg($_FILES['pro_image']['tmp_name'][$key]);
}
elseif($info['mime']=="image/png"){
$img=imagecreatefrompng($_FILES['pro_image']['tmp_name'][$key]);
}
elseif($info['mime']=="image/gif"){
$img=imagecreatefromgif($_FILES['pro_image']['tmp_name'][$key]);
}
elseif($info['mime']=="image/jpg"){
$img=imagecreatefromjpg($_FILES['pro_image']['tmp_name'][$key]);
}
else{
echo "Only select jpg or png image";
}
if(isset($img)){
$newFileName=$user_id.$email.$filename.$count.'.jpg';
$file = $newFileName.'_'.$val;
imagejpeg($img, "../media/listing/$file" ,20);
$imagedata = mysqli_query($mysqli, "INSERT INTO ready_to_move_image(property_id, user_id, username, pro_image) values ('{$property_id}', '{$user_id}', '{$username}', '{$file}')");
}
}
}
}

最新更新