het script upload dus adhv een for loop (max 6) geselecteerde fotos
wat ik ook nog zou willen doen is de eerste foto (dus de grote) verkleinen naar een standaard formaat, maar gaat dat voordat hij eerst op de ftp staat?? nja jullie bekijken het maar ;)
hij geeft de code voor deze regel:
$bron = imagecreatefromjpeg($locatie.$newname.".jpg");
(r 116 in code)
$locatie="img_uploads/groot/";
$locatie_mid="img_uploads/mid/";
$locatie_klein="img_uploads/klein/";
$toegestaan = "jpg";
$max_size = 500000;
$aantal_fotos_uploaded = 0;
for($i=1;$i<=6;$i++)
{
if(!empty($_FILES['img'.$i.'']['name'])){$aantal_fotos_uploaded++;}
}
// elk bestand zijn extensie checken //
$extensies_toegestaan = explode(", ", $toegestaan);
//standaard op 1 zetten //
$extensions_ok = 1;
for($y=1;$y<=$aantal_fotos_uploaded;$y++)
{
for($i = 0; $i < count($extensies_toegestaan); $i++)
{
$extensie_bestand = pathinfo($_FILES['img'.$y.'']['name']);
$extensie_bestand = $extensie_bestand[extension];
if($extensies_toegestaan[$i] != "$extensie_bestand")
{
$extensions_ok = 0;
}
}
}
if($extensions_ok==1 AND $foutmelding==0)
{
for($k=1;$k<=$aantal_fotos_uploaded;$k++)
{
if(!is_uploaded_file($_FILES['img'.$k.'']['tmp_name']))
{
$fouten[] = "<u>Foto ".$k."</u>: kon niet worden geüpload, je kan proberen ze opnieuw te uploaden.<br>";
}
else
{
if($_FILES['img'.$k.'']['size']>$max_size)
{
$fouten[] = "<u>Foto ".$k."</u>: foto is te groot, de maximale grootte is: <b>".$max_size."</b>";
}
// hoeveel afbeeldingen zijn er al => nodig voor de naam van de volgende foto //
if($k==1){$aantalads = mysql_fetch_array(mysql_query("SELECT aantal FROM aantal_ads"));$aantal_ads = $aantalads['aantal'];}
$newname = ($aantal_ads+1)."_".$k;
if(!move_uploaded_file($_FILES['img'.$k.'']['tmp_name'],
$locatie.$newname.".jpg"))
{
$fouten[] = "Eén of meerdere foto's konden niet worden geüpload, je kan proberen ze opnieuw te uploaden";
}
else
{
$bron = imagecreatefromjpeg($locatie.$newname.".jpg");
if(!imagecreatefromjpeg($locatie.$newname.".jpg"))
{
$fouten[] = "Eén of meerdere foto's konden niet worden geüpload, je kan proberen ze opnieuw te uploaden.";
}
$b_breedte = imagesx($bron);
$b_hoogte = imagesy($bron);
$path = $locatie.$newname.".jpg";
// nieuwe afbeelding plaatsen in kleine map //
$nieuw_breedte_klein = resize(75,60,$path,"width");
$nieuw_hoogte_klein = resize(75,60,$path,"height");
$nieuw_jpg_klein = imagecreatetruecolor($nieuw_breedte_klein ,$nieuw_hoogte_klein);
imagecopyresampled($nieuw_jpg_klein, $bron, 0, 0, 0, 0, $nieuw_breedte_klein, $nieuw_hoogte_klein, $b_breedte, $b_hoogte);
imagejpeg($nieuw_jpg_klein,$locatie_klein.$newname.".jpg",80);
// nieuwe afbeelding plaatsen in mid map //
$nieuw_breedte_mid = 250;
$nieuw_hoogte_mid = resize_normal(250,$path);
$nieuw_jpg_mid = imagecreatetruecolor($nieuw_breedte_mid ,$nieuw_hoogte_mid);
imagecopyresampled($nieuw_jpg_mid, $bron, 0, 0, 0, 0, $nieuw_breedte_mid, $nieuw_hoogte_mid, $b_breedte, $b_hoogte);
imagejpeg($nieuw_jpg_mid,$locatie_mid.$newname.".jpg",80);
}
}
}
}
error zegt teveel geheugenverbruik? hoeveel juist? de error zal wel een pak meer gezegd hebben dan hier beschreven.
als je imagecreatefromjpeg gebruikt wil dit niet persé zeggen als je een image hebt van 400kb dat het geheugenverbruik hetzelfde zal zijn, zeker in geval van truecolor.
hoe dan ook probeer eens onderstaand script in een apart bestand en kijk of dit werkt, dit script werkt perfect op mijn systeem en online.