He ben ik weer,

Klein vraagje over iets wat niet lukt. Waarschijnlijk zie ik het over het hoofd, ik weet het niet. Ik wil bij een formulier de mogelijkheid aanbieden tot het uploaden van een foto.

Dit script werkt, mijn enige probleem is dat ik zo min mogelijk code wil typen, zodat ik niet, bij de upload mogelijkheid van bv. 10 foto's, 10x hetzelfde script hoef te typen.

De eerste foto (welke ook als thumbnail voor de betreffende post wordt gebruikt) heeft een apart stukje code. Deze werkt ook prima. Mijn idee voor d rest van de foto's was om $i=0, $i<10, $i++ te gebruiken in een while loop. Op deze manier:




<?
	$i=0;
	
	while($i<=10){
		$i++;
		
		if($_FILES[('foto'.$i)]){
			if($_FILES[('foto'.$i)]['error'] === 0){
				$folder 		= '../Site/upload/blog/';
				$bestandsnaam 	= $folder.$itemid.'-'.$i.'.jpg';
				
				if($_FILES['foto'.$i]['type'] != 'image/jpeg'){
					// GEEN JPG?
				}elseif(move_uploaded_file($_FILES[('foto'.$i)]['tmp_name'], $bestandsnaam)){
					
					verkleinPlaatje($bestandsnaam, 580, 350);
					
				}
			}
		}
	}?>



Het probleem is dat $i geloof ik niet doet wat ik wil. Ik verwachtte dat ik hiermee 9x de loop met $i zou krijgen waarin $i door [#1-9] zou worden vervangen. Weet iemand hoe ik $i moet aanpassen zodat dit wel lukt?

Ik wil dus niet:

<?
		if($_FILES[('foto1')]){
			if($_FILES[('foto1')]['error'] === 0){
				$folder 		= '../Site/upload/blog/';
				$bestandsnaam 	= $folder.$itemid.'-1.jpg';
				
				if($_FILES['foto1']['type'] != 'image/jpeg'){
					// GEEN JPG?
				}elseif(move_uploaded_file($_FILES[('foto'.$i)]['tmp_name'], $bestandsnaam)){
					
					verkleinPlaatje($bestandsnaam, 580, 350);
					
				}
			}
		}
	}?>


x9 hoeven te typen.
Geen while maar for gebruiken ;-)
Dit zou moeten werken, alleen nu telt hij van 0 tot 10 = 11x.
Je zou dan
$i<=10
kunnen veranderen in
$i<10
.

Als je 1 tm 9 wil verander je
$i=0
in
$i=1
uiteraard.

<?
for($i=0;$i<=10;$i++){

if($_FILES[('foto'.$i)]){
if($_FILES[('foto'.$i)]['error'] === 0){
$folder = '../Site/upload/blog/';
$bestandsnaam = $folder.$itemid.'-'.$i.'.jpg';

if($_FILES['foto'.$i]['type'] != 'image/jpeg'){
// GEEN JPG?
}elseif(move_uploaded_file($_FILES[('foto'.$i)]['tmp_name'], $bestandsnaam)){

verkleinPlaatje($bestandsnaam, 580, 350);

}
}
}
}?>
Kudo's!


De oplossing werkt, ik had daarbij nog de fout gemaakt om in de regel
if($_FILES['foto']['type'] != 'image/jpeg'){
de ".$i" te vergeten in mijn echte code...

Bedankt voor de hulp

Reageren