Ik heb een php code waarmee ik bestanden die geupload zijn kan schalen en in een andere map zet.
Het heeft al gewerkt, maar toen was mijn berekening van mijn hoogte verkeerd.
En met deze versie lukt het niet meer, zelfs mijn geuploade afbeelding zie ik niet meer staan.

Dit is mijn code:

<?php
function schaal_afbeelding($file){

copy("vi/images/img_promoties/origineel/" . $file, "vi/images/img_promoties/" . $file);

$path = "vi/images/img_promoties/origineel/" . $file;

$origineel = ImageCreateFromJPEG($path);

//afmetingen origineel opvragen
$imageinfo = getimagesize($path);

$ix=$imageinfo[0];
$iy=$imageinfo[1];

//nieuwe afmetingen berekenen
$nwidth = 200;
$nheight = round($nwidth*$iy/$ix);

//nieuwe afbeelding maken
$resized = imagecreatetruecolor($nwidth, $nheight);

//afbeelding van origineel kopiƫren met de nieuwe afmetingen
imagecopyresized($resized, $origineel, 0, 0, 0, 0, $nwidth, $nheight, $ix, $iy);

//afbeelding opslaan
imagejpeg($resized, "vi/images/img_promoties/" . $file, 90);

}
errors?
Het is ondertss ook al gelukt om het naar de goede afmetingen te schalen.
Dus de code is wel juist, maar het is gewoon raar dat het maar heel af en toe echt lukt.
Ik controleer altijd via filezilla of de files in de mappen zitten, is dit een goeie manier of is er een betere manier?
Zorg dat je afbeeldingen niet te groot zijn als je ze wilt resized. PHP wil nog wel eens problemen geven bij te grote afbeeldingen...

En daarnaast zou ik imagecopyresampled() gebruiken in plaats van imagecopyresized(). De eerste geeft namelijk een beter resultaat.
Volgens mij gaat het mis bij het uploaden, aangezien ik nergens de geuploade afbeelding terugvindt.

Dit is mijn code bij voor het uploaden:

<?php
function uploader_afbeeldingen(){

if ($_FILES['afbeelding_1']['size'] != 0) {

if (move_uploaded_file($_FILES['afbeelding_1']['tmp_name'], 'vi/images/img_promoties/origineel/' . $_FILES['afbeelding_1']['name'])){
schaal_afbeelding($_FILES['afbeelding_1']['name']);
} else {
echo '<p>Het uploaden van afbeelding 1 is mislukt.</p>';
}
}


echo '<p><a href="' . uri_page(275) . '">Nog afbeeldingen uploaden.</a></p>';

}

?>


Formulier:

<form id="csv_form" method="post" action="uploaden_afbeeldingen.html" enctype="multipart/form-data" accept-charset='utf-8'>

Afbeelding 1: <input type="hidden" name="MAX_FILE_SIZE" value="200000000" /><input type="file" name="afbeelding_1" id="afbeelding_1">

<input type="submit" name="uploaden" id="uploaden" value="Uploaden">
</form>

Er zit precies wat vertraging op ofzo, want de afbeelding die ik 10 min geleden had geupload zie ik nu wel staan. Origineel + geschaald, dus het zal wel werken.

Bedankt voor de hulp anyway!

Reageren