mutiple files uploaden en in map zetten

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Jeremy Evers

Jeremy Evers

23/03/2014 16:40:03
Quote Anchor link
Beste mensen,

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
        if(isset($_FILES['overige_pic']['name'])){
            $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?
 
PHP hulp

PHP hulp

25/12/2024 07:39:47
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

23/03/2014 17:53:22
Quote Anchor link
Doe maar eens een vardump op $_FILES.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
foreach ($_FILES['overige_pic']['name'] as $idx => $name) {
    if ($name != '') {
        $image->setImage($name, $_FILES['overige_pic']['tmp_name'][$idx])
    }
}

?>
Gewijzigd op 23/03/2014 17:53:52 door Ger van Steenderen
 
Jeremy Evers

Jeremy Evers

23/03/2014 17:56:51
Quote Anchor link
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?
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

23/03/2014 18:21:10
Quote Anchor link
Jawel, daarom zei ik doe eens een vardump op $_FILES.
Dan zie je wat er gebeurd: name, tmp_name etc worden namelijk arrays.
 
Jeremy Evers

Jeremy Evers

23/03/2014 18:35:15
Quote Anchor link
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
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

24/03/2014 12:44:09
Quote Anchor link
Ik heb mijn voorbeeld gebaseerd op de code die je in de beginpost geplaatst hebt.
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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.