mutiple files uploaden en in map zetten
ik heb een script geschreven voor het uploaden en het in de map zetten van een bestand. Bij een single file werkt het al prima. Enkel als ik een multiple bestand heb (dus 2 of meer bestanden) dan lukt het me niet helemaal. ik zit nu hier een beetje mee te puzzelen:
Code (php)
1
2
3
4
5
6
2
3
4
5
6
if(isset($_FILES['overige_pic']['name'])){
$pics = $_FILES['overige_pic'];
foreach($pics as $pic){
var_dump($pict);
}
}
$pics = $_FILES['overige_pic'];
foreach($pics as $pic){
var_dump($pict);
}
}
uit de var_dump komt dit als volgt:
array (size=2)
0 => string 'Schermopname (1).png' (length=20)
1 => string 'Schermopname (2).png' (length=20)
array (size=2)
0 => string 'image/png' (length=9)
1 => string 'image/png' (length=9)
array (size=2)
0 => string 'D:\wamp\tmp\php424B.tmp' (length=23)
1 => string 'D:\wamp\tmp\php425B.tmp' (length=23)
array (size=2)
0 => int 0
1 => int 0
array (size=2)
0 => int 80902
1 => int 33568
Ik weet nu enkel totaal niet hoe ik de bestanden apart krijg. Want ik stuur ze zo naar de functie toe:
$image->setImage($imageName, $imageTMP);
Maar dit moet dus apart per plaatje.. Ik weet niet precies hoe ik dit moet aanpakken. iemand tips?
Maar dan maak je een foreach over alleen de naam die je meekrijgt? Maar dan krijg je de tmp_name toch niet en de size enzo?
Dan zie je wat er gebeurd: name, tmp_name etc worden namelijk arrays.
Enkel begrijp ik het nog niet helemaal goed. Ik zie inderdaad dat het allemaal array's worden. Maar waarom moet je dan $_FILES['overige_pic']['name'] in een foreach zetten, en niet de hele file array
Maar als je meerdere file inputs hebt die aan elkaar gerelateerd zijn (bv name="file1[]" en name="file2[]")
dan kan je volstaan met een foreach op één van die nested array's.
Het is afhankelijk van hoe je dat in het formulier hebt opgebouwd.