Rob_Eindhoven
Nieuw lid
- Lid geworden
- 19 okt 2018
- Berichten
- 3
- Waarderingsscore
- 0
Hallo,
Ik heb een vraagje,
In Html heb ik een forum gemaakt waar je meerdere foto's kunt uploaden. Maar nu loop ik tegen een probleem aan.....de meesten foto's die je wilt uploaden zijn groter dan de maximale 2MB die mag uploaden in PHP. Dus ben ik op internet eens fink gaan zoeken naar PHP image compression. Hier legt echter niemand uit hoe dit werkt bij meerdere foto's.....
Hier is mijn code:
--HTML--
Attachment:<br>
<input class="form-control" type="file" name="attachments[]" id="attachments" multiple style="width:300px">
--PHP--
for($i = 0; $i < count($_FILES['attachments']['name']); $i++) {
$filetmp = $_FILES["attachments"]["tmp_name"][$i];
$filename = $_FILES["attachments"]["name"][$i];
$filepath = "images/".$filename;
move_uploaded_file($filetmp,$filepath);
$querypictureupload = "INSERT INTO file_upload (filename)
VALUES ('$filename')";
$result = mysqli_query($conn, $querypictureupload);
}
--HTML--
Attachment:<br>
<input class="form-control" type="file" name="image" id="image" style="width:300px">
--PHP--
if (isset($_POST['submit'])) {
$target = "images/";
$target = $target.basename($_FILES['image']['name']);
$photo_name = ($_FILES['image']['name']);
$imageFileType = pathinfo($target, PATHINFO_EXTENSION);
$file = $photo_name;
$query = "INSERT INTO photos(image) VALUES ('$file')";
$result = mysqli_query($conn, $query);
if ($result && compress($_FILES['image']['tmp_name'], $target, 50)) {
echo "<script>alert('Image uploaded')</script>";
}
else {
echo "<script>alert('An error occured')</script>";
}
}
--FUNCTIONS.PHP--
function compress($source, $destination, $quality){
$info = getimagesize($source);
if ($info['mime'] == 'image/jpeg')
$image = imagecreatefromjpeg($source);
elseif ($info['mime'] == 'image/gif')
$image = imagecreatefromgif($source);
elseif ($info['mime'] == 'image/png')
$image = imagecreatefrompng($source);
imagejpeg($image, $destination, $quality);
return $destination;
}
Zoals hier boven in het 1e bestand te zien is kan je meerdere foto's uploaden, waar je in de 2e maar 1 kan uploaden maar deze wel verkleind wordt......
Is er iemand die mij kan helpen met het samenvoegen van deze 2 bestanden zodat je meerdere foto's kunt oploaden en dezen worden verkleind! Zelf had ik geprobeert op de function te verwerken in de for loop maar dat lukt niet helemaal..
Alvast bedankt
Ik heb een vraagje,
In Html heb ik een forum gemaakt waar je meerdere foto's kunt uploaden. Maar nu loop ik tegen een probleem aan.....de meesten foto's die je wilt uploaden zijn groter dan de maximale 2MB die mag uploaden in PHP. Dus ben ik op internet eens fink gaan zoeken naar PHP image compression. Hier legt echter niemand uit hoe dit werkt bij meerdere foto's.....
Hier is mijn code:
--HTML--
Attachment:<br>
<input class="form-control" type="file" name="attachments[]" id="attachments" multiple style="width:300px">
--PHP--
for($i = 0; $i < count($_FILES['attachments']['name']); $i++) {
$filetmp = $_FILES["attachments"]["tmp_name"][$i];
$filename = $_FILES["attachments"]["name"][$i];
$filepath = "images/".$filename;
move_uploaded_file($filetmp,$filepath);
$querypictureupload = "INSERT INTO file_upload (filename)
VALUES ('$filename')";
$result = mysqli_query($conn, $querypictureupload);
}
--HTML--
Attachment:<br>
<input class="form-control" type="file" name="image" id="image" style="width:300px">
--PHP--
if (isset($_POST['submit'])) {
$target = "images/";
$target = $target.basename($_FILES['image']['name']);
$photo_name = ($_FILES['image']['name']);
$imageFileType = pathinfo($target, PATHINFO_EXTENSION);
$file = $photo_name;
$query = "INSERT INTO photos(image) VALUES ('$file')";
$result = mysqli_query($conn, $query);
if ($result && compress($_FILES['image']['tmp_name'], $target, 50)) {
echo "<script>alert('Image uploaded')</script>";
}
else {
echo "<script>alert('An error occured')</script>";
}
}
--FUNCTIONS.PHP--
function compress($source, $destination, $quality){
$info = getimagesize($source);
if ($info['mime'] == 'image/jpeg')
$image = imagecreatefromjpeg($source);
elseif ($info['mime'] == 'image/gif')
$image = imagecreatefromgif($source);
elseif ($info['mime'] == 'image/png')
$image = imagecreatefrompng($source);
imagejpeg($image, $destination, $quality);
return $destination;
}
Zoals hier boven in het 1e bestand te zien is kan je meerdere foto's uploaden, waar je in de 2e maar 1 kan uploaden maar deze wel verkleind wordt......
Is er iemand die mij kan helpen met het samenvoegen van deze 2 bestanden zodat je meerdere foto's kunt oploaden en dezen worden verkleind! Zelf had ik geprobeert op de function te verwerken in de for loop maar dat lukt niet helemaal..
Alvast bedankt