file upload

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Developer / Java / Cloud

Bedrijfsomschrijving Voor een organisatie in regio Eindhoven zijn wij op zoek naar een Software Developer met goede kennis van Java. Het gaat om een software bedrijf dat te omschrijven is als informeel en open. De mensen die er werken zijn enthousiast, willen graag goede kwaliteit neerzetten, nieuwe technieken worden omarmt en alles is zo ingericht dat nieuwe tools/technieken gemakkelijk geïntegreerd kunnen worden. De organisatie is erg technisch georiënteerd, men gaat echt voor software development en heeft passie voor het vak. Er wordt geïnvesteerd in medewerkers door bijvoorbeeld opleidingen, cursussen en echt tijd voor onderzoek en innoveren. Je krijgt al snel

Bekijk vacature »

Medior embedded software developer

Bedrijfsomschrijving Het betreft hier een beurs genoteerde speler actief in de technische en industriële automatisering. De activiteiten bestaan uit het uitvoeren van projecten op detachering, consultancy en interne basis. De normen waar de organisatie waarde aan hecht hebben te maken met ondernemerschap en betrokkenheid bij het algemeen belang. In de markt staan ze bekend als een gerenommeerde, technisch voorop lopende partij waar balans tussen werk en privé erg goed in de gaten wordt gehouden. Klanten van deze organisaties zijn veelal ook beursgenoteerd organisaties in verschillende bedrijfstakken. Ook zijn er overheidsorganen, zoals defensie, waar opdrachten voor worden uitgevoerd. Functieomschrijving Dit mooie

Bekijk vacature »

IT-traineeship junior software developer

Zoek jij een stevige uitdaging en de mogelijkheid om veel nieuwe dingen te leren in een dynamisch vakgebied? Doe mee aan ons IT Professional Program en ontwikkel jezelf tot software engineer! Je begint met een opleidingstraject van ongeveer 4 maanden. Hierin ga je aan de slag met verschillende technieken die je op conceptueel niveau leert te overzien en interpreteren. Onderwerpen die aan bod komen zijn o.a. programmeren (Java/C#/Python), Object Oriëntatie, Databases, Webservices & webtechnologieën, Domain Driven Design en Continuous Integration/Continuous Delivery. Sommige van deze onderdelen sluit je af met een examen en bijbehorende certificering. Het opleidingstraject zelf sluit je af

Bekijk vacature »

Senior fullstack .NET developer

Wil jij samen met gemotiveerde en slimme collega’s bouwen aan ons geavanceerde landschap in Azure? En vind je het ook nog eens leuk om jouw kennis te delen met junior- en medior devs? Dan heb je wellicht interesse in de positie van: Senior fullstack .NET developer voor ons kantoor in Alkmaar Over de positie: Bij SnelStart werken we in een AGILE-structuur om de productie meer focus en impact te geven. Met je collega’s kom je tot de beste resultaten door onderlinge discussie, goede refinement sessies, reviews en écht teamwork. Je hebt de vrijheid om de dingen te doen zoals jij

Bekijk vacature »

Solution Developer Power BI Python

Data Engineer Power BI Python SQL DAX (Azure) Full-time Location: Rotterdam Contract Duration: 6months (temp or freelance) Background The Integrated Operations Benelux team consist of various roles that make Excellent Execution a success. One of these roles is a (contract) role of a Business Solutions Developer. Less time spent on Running the Business to reinvest in Growing the Business whilst Improving Customer and Employee Satisfaction is the vision of Integrated operations. Integrated Operations brings Customer Development, Supply Chain and Sales within Benelux together in realizing excellent execution. The 4 principles driving Integrated Operations are: end 2 end ownership, maximized automation,

Bekijk vacature »

Lead Developer / C#.NET / coördinatie / meewe

Bedrijfsomschrijving Bij dit innovatieve productiebedrijf met 1000+ medewerkers wordt maatwerksoftware gemaakt, van het totale ERP pakket tot applicaties waar externe klanten gebruik van maken. Deze software wordt ontwikkeld met technieken als C#, .NET Core, ASP.NET, JSON en webservices met een front-end van Javascript / Angular. De nadruk ligt op de back-end. Als Lead Developer ben jij degene die het overzicht houdt op het ontwikkelproces van begin tot eind, je bepaalt de architectuur en stuurt het team van zo'n 5 ontwikkelaars aan. Wanneer er vanuit de business verzoeken komen voor nieuwe features of aanpassingen, ben jij degene die prioriteiten bepaalt. Je

Bekijk vacature »

E-learningontwikkelaar

Wil jij meewerken aan de ontwikkeling van hoogwaardige leeroplossingen? En vind je het leuk om bij te dragen aan het opleiden van medewerkers van zorginstellingen die met HiX, onze ICT-totaaloplossing voor de zorg, gaan werken? Dan is dit de perfecte uitdaging voor jou! Jouw baan Je belangrijkste taak is het ontwikkelen van e-learningmodules voor specifieke doelgroepen en het inhoudelijk meedenken over en ontwikkelen van creatieve, didactische concepten voor onze klanten. Ruim 160.000 ziekenhuismedewerkers zijn straks door jóuw producten beter in staat om hun patiënten te helpen. Jouw team Als e-learningontwikkelaar ben je onderdeel van het team Documentatie dat bestaat uit

Bekijk vacature »

Cloud CRM / WebApp developer

(4-6 j development team ervaring - 32 uur per week, Utrecht/thuiswerken) Solease is een snel groeiend bedrijf en heeft als missie om duurzame energie voor iedereen toegankelijk te maken. Daarom bieden wij het huren van zonnepanelen aan als laagdrempeliger en duurzamer alternatief voor bezit. Door het wegnemen van de investeringsdrempel, het gedoe en risico draagt Solease bij aan het versnellen van de energietransitie. Voor mensen die het huren willen overslaan, bieden we ook de mogelijkheid om de zonnepanelen direct te kopen. Daarnaast zijn andere verduurzamende maatregelen in de planning. Wil jij met jouw werk échte impact realiseren? Lees dan verder

Bekijk vacature »

Cloud Engineer Welkomstbonus € 5.000,-

Cloud Engineer medior Welkomstbonus van € 5.000,- Bij T2 zorgen we goed voor elkaar en doen wij leuke dingen met leuke mensen. We zorgen voor uitdagende opdrachten zodat jij jezelf onbeperkt kan blijven ontwikkelen. Ben jij een ervaren systeembeheerder Cloud en wil je het beste uit jezelf halen? Dan ben je van harte welkom bij T2 en ontvang je onze welkomstbonus ter waarde van € 5.000,-. Er werken leuke mensen bij T2, die op een professionele en informele wijze met hun carrière en collega’s omgaan. Dat is de basis voor succes! Het is vanzelfsprekend dat je met de nieuwste technieken

Bekijk vacature »

Dynamics CRM / Developer

Bedrijfsomschrijving Als onderdeel van een grote IT-dienstverlener is deze organisatie ontstaan en is nu gegroeid tot organisatie van bijna 30 man groot. Iedereen binnen deze organisatie houdt zich bezig met het ontwikkelen, beheren, onderhouden van bedrijfskritische applicaties. In tegenstelling tot de moederorganisatie, werken de medewerkers bij deze organisatie gemiddeld drie dagen in de week gewoon op het eigen kantoor in Utrecht. Mede hierdoor heerst er een erg informele sfeer waardoor jij je binnen no-time thuis voelt! De organisatie staat op het punt om een heel nieuw team met specialiteit Dynamics CRM op te tuigen. Nee, je hoeft zeker nog geen

Bekijk vacature »

IT-traineeship junior software developer

Zoek jij een stevige uitdaging en de mogelijkheid om veel nieuwe dingen te leren in een dynamisch vakgebied? Doe mee aan ons IT Professional Program en ontwikkel jezelf tot software engineer! Je begint met een opleidingstraject van ongeveer 4 maanden. Hierin ga je aan de slag met verschillende technieken die je op conceptueel niveau leert te overzien en interpreteren. Onderwerpen die aan bod komen zijn o.a. programmeren (Java/C#/Python), Object Oriëntatie, Databases, Webservices & webtechnologieën, Domain Driven Design en Continuous Integration/Continuous Delivery. Sommige van deze onderdelen sluit je af met een examen en bijbehorende certificering. Het opleidingstraject zelf sluit je af

Bekijk vacature »

Advanced Mendix Developer Logistic Solutions

Advanced Mendix Developer Logistic Solutions Den Haag HBO/WO IT Professional "Als Advanced Mendix Developer impact maken op de groeiende E-commerce markt met onze logistieke software en onze kritieke logistieke keten. Je doet dit door ontwikkeling en uitbreiding van onze Mendix Cloud omgeving, waarbij je complexe business processen vertaalt naar kritieke Mendix applicaties." Wat ga je doen? PostNL is becoming a postal tech company. Je komt te werken binnen PostNL Logistic Solutions. Daar gaan we net wat verder dan een standaardpakket of brief. Het gaat bijvoorbeeld om gekoeld vervoer van medicijnen (Health), Warehousing (Fulfilment), het leveren binnen hele strakke tijdvakken (Time

Bekijk vacature »

C# .NET Full Stack Developer

Bedrijfsomschrijving Dit internationale is marktleider op het gebied van automatisering. Door de vooruitlopende technieken zijn de processen zo efficiënt mogelijk ingericht. De software verwerkt aanvragen automatisch en zorgt ervoor dat binnen 24 uur de bestelling geleverd kan worden. De organisatie is dan ook continu bezig met het verder ontwikkelen en investeren in de nieuwste technieken. Het development team bestaat op dit moment uit zeven collega's, maar de totale organisatie uit meer dan 300 professionals. Het team is verantwoordelijk voor de gehele softwareontwikkeling, van front-end tot (productie)procesautomatisering. Iedereen heeft zijn/ haar eigen specialisatie, maar alles is mogelijk. Hierbij krijg je veel

Bekijk vacature »

SAP/CRM Developer SAPUI5 Overheid

Bedrijfsomschrijving De organisatie staat voor het leveren van een efficiënte en kwalitatief hoogwaardige salaris- en personeelsadministratie. Je gaat samenwerken met ICT-professionals met uiteenlopende kennis en achtergronden. Hou je van Agile samenwerken en kom je maximaal tot je recht in zelfsturende teams? Dan is dit de plaats waar jouw toekomst ligt. Voor deze functie zijn we op zoek naar een ervaren SAP CRM developer. De kerntaken bestaan uit het maken van een vertaling van de business behoefte naar passende SAP-oplossingen. Je bent daarbij enerzijds in staat om om te gaan met complexe vraagstukken en oplossingen te bedenken die bestaan uit kleine

Bekijk vacature »

Senior fullstack .NET developer

Wil jij samen met gemotiveerde en slimme collega’s bouwen aan ons geavanceerde landschap in Azure? En vind je het ook nog eens leuk om jouw kennis te delen met junior- en medior devs? Dan heb je wellicht interesse in de positie van: Senior fullstack .NET developer voor ons kantoor in Alkmaar Over de positie: Bij SnelStart werken we in een AGILE-structuur om de productie meer focus en impact te geven. Met je collega’s kom je tot de beste resultaten door onderlinge discussie, goede refinement sessies, reviews en écht teamwork. Je hebt de vrijheid om de dingen te doen zoals jij

Bekijk vacature »
Mitchel V

Mitchel V

27/06/2010 17:14:03
Quote Anchor link
Hallo.

Zelf ben ik niet zo bekend met het uploaden van een file.
Maar ik loop tegen het volgende probleem op.

Ik wil controleren of een bestand is ingevoerd bij de input, maar dat gaat ergens fout.
Zelf weet ik niet hoe ik dit kan oplossen, zou iemand mij kunnen helpen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php

$aantalp
= 0;
for ($i = 1; $i <= $_POST['aantal']; $i++) {
    $imagename = basename($_FILES['file']['name'.$i]);
    if(!$imagename == ""){
        $aantalp = $aantalp + 1;
    }

    echo $imagename;
}

$i = 0;
if($aantalp == 0){
    $error .= "Het is verplicht om minimaal <u>1</u> product toe te voegen aan een factuur.<br>";
}

if(!$error == ""){
    echo '<b>Foutmelding:</b><br>'.$error;
}
else{
// Rest van de code.
}

echo '<form method="post" enctype="multipart/form-data"><table>
<tr>
    <td></td>
    <td>Bijlage</td>
    <td>Omschrijving</td>
</tr>'
;

for ($i = 1; $i <= $_POST['aantal']; $i++) {
    echo '<tr>
            <td>'
.$i.'</td>
            <td><input name="file'
.$i.'" type="file" /></td>
            <td><input type="text" name="omschrijving'
.$i.'" value="'.$_POST['omschrijving'.$i].'" size="35"></td>
          </tr>'
;
    }

echo '<tr><td colspan="5"><br></td></tr>';

echo '<tr><td colspan="1"><input type="hidden" name="aantalproducten" value="'.$i.'"></td><td colspan="4"><input type="submit" name="submit" value="Zet factuur klaar"></td></tr>
</table>
</form>'
;
?>
 
PHP hulp

PHP hulp

28/01/2021 15:36:05
 
Noppes Homeland

Noppes Homeland

27/06/2010 17:34:18
Quote Anchor link
name="file'.$i.'"

dit is toch echt niet handig, je kan dan beter
name="file[]" er van maken

En als je dan een kijkt naar de var_dump($_FILES), dan zie je hopelijk zelf wel hoe en wat.

Zo niet dan kijk je maar naar dit:
http://wiki.phpfreakz.nl/Upload
 
Mitchel V

Mitchel V

27/06/2010 18:40:05
Quote Anchor link
Ok,

Maar hoe kan ik ze in de POST dan uitlezen?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php
$aantal
= 5;

if($_SERVER['REQUEST_METHOD'] == 'POST'){
    if ($_FILES["file"]["error"] > 0){
        echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
    }
else{
        $_FILES["file"]["name"] = date("dmYHis").$_FILES["file"]["name"];
        if (file_exists("uploadfactuur/" . $_FILES["file"]["name"])){
            echo $_FILES["file"]["name"] . " already exists. ";
        }
else{
            move_uploaded_file($_FILES["file"]["tmp_name"], "uploadsfactuur/" . $_FILES["file"]["name"]);
            echo "Stored in: " . "uploadfactuur/" . $_FILES["file"]["name"];
        }
    }
}

?>


<html>
<body>

<form method="post"
enctype="multipart/form-data">
<table>
<tr><td></td><td>Bestand</td><td>Omschrijving</td></tr>
<?php
for ($i = 1; $i <= $aantal; $i++) {
    echo '<tr>
            <td>'
.$i.'</td>
            <td><input name="file[]" type="file" /></td>
            <td><input type="text" name="omschrijving[]" value="'
.$_POST['omschrijving'.$i].'" size="35"></td>
          </tr>'
;
    }

?>

<tr><td></td><td><input type="submit" name="submit" value="Submit" /></td><td></td></tr>
</table>
</form>

</body>
</html>
 
Jan geen

Jan geen

27/06/2010 19:32:26
Quote Anchor link
Door middel van een foreach
 
Mitchel V

Mitchel V

27/06/2010 19:52:05
Quote Anchor link
Ok, Ik heb het geprobeerd maar ik krijg de volgende fout:
Return Code: Array
Return Code: Array
Return Code: Array
Return Code: Array
Return Code: Array

wat doe ik fout?

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
$aantal
= 5;
if($_SERVER['REQUEST_METHOD'] == 'POST'){
    foreach($_FILES["file"]["name"] as $key => $value){
        if ($_FILES["file"]["error"] > 0){
            echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
        }
else{
            if($_FILE["file"]["size"] > 0){
                $_FILES["file"]["name"] = date("dmYHis").$value;
                if (file_exists("uploadfactuur/" . $_FILES["file"]["name"])){
                    echo $_FILES["file"]["name"] . " already exists. ";
                }
else{
                    move_uploaded_file($_FILES["file"]["tmp_name"], "uploadsfactuur/" . $_FILES["file"]["name"]);
                    echo "Stored in: " . "uploadfactuur/" . $_FILES["file"]["name"];
                }
            }
        }
    }
}

?>


<html>
<body>

<form method="post" enctype="multipart/form-data">
<table>
<tr><td></td><td>Bestand</td><td>Omschrijving</td></tr>
<?php
for ($i = 1; $i <= $aantal; $i++) {
    echo '<tr>
            <td>'
.$i.'</td>
            <td><input name="file[]" type="file" /></td>
            <td><input type="text" name="omschrijving[]" value="'
.$_POST['omschrijving'.$i].'" size="35"></td>
          </tr>'
;
    }

?>

<tr><td></td><td><input type="submit" name="submit" value="Submit" /></td><td></td></tr>
</table>
</form>
</body>
</html>
 
Noppes Homeland

Noppes Homeland

27/06/2010 20:37:56
Quote Anchor link
je hebt geen eens keken naar een var_dump($_POST) / var_dump($_FILES).

als je dat bekeken hebt dan zal het ook zo moeten zjn dat je ziet wat je fout gedaan hebt.
 
Mitchel V

Mitchel V

27/06/2010 21:25:30
Quote Anchor link
ik heb gekeken op: http://nl.php.net/var_dump
maar nee, ik zie niet wat ik fout doe :S
 
Jelmer -

Jelmer -

27/06/2010 23:21:57
Quote Anchor link
$_FILES['file']['name'] is een array, zoals je zo te zien weet, want je gebruikt hem als argument voor de foreach-lus. Maar $_FILES['file']['error] is dat ook, en $_FILES['file']['size'] ook. Als je daar de juiste waarde uit wilt pakken, moet je die arrays benaderen via hun key, $key die je foreach-lus oplevert.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
foreach($_FILES['file']['name'] as $key => $file_name) {
   echo 'Bestand ' . $_FILES['file']['name'][$key] . ' is tijdelijk opgeslagen als ' . $_FILES['file']['tmp_name'][$key];
}

?>


Als je vlak voor je foreach-lus var_dump($_FILES) zet, dan laat PHP je zien hoe de $_FILES array is opgebouwd. Dat bedoelde Noppes.
 
Mitchel V

Mitchel V

28/06/2010 00:09:31
Quote Anchor link
Ohh ok,

Maar dan snap ik de output niet van de var_dump..
Ik upload 1 bestand, nl.gif

dan krijg ik:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
array(1) { ["file"]=> array(5) { ["name"]=> array(5) { [0]=> string(6) "nl.gif" [1]=> string(0) "" [2]=> string(0) "" [3]=> string(0) "" [4]=> string(0) "" } ["type"]=> array(5) { [0]=> string(9) "image/gif" [1]=> string(0) "" [2]=> string(0) "" [3]=> string(0) "" [4]=> string(0) "" } ["tmp_name"]=> array(5) { [0]=> string(14) "/tmp/phprwAerP" [1]=> string(0) "" [2]=> string(0) "" [3]=> string(0) "" [4]=> string(0) "" } ["error"]=> array(5) { [0]=> int(0) [1]=> int(4) [2]=> int(4) [3]=> int(4) [4]=> int(4) } ["size"]=> array(5) { [0]=> int(360) [1]=> int(0) [2]=> int(0) [3]=> int(0) [4]=> int(0) } } } Bestand nl.gif is tijdelijk opgeslagen als /tmp/phprwAerPBestand is tijdelijk opgeslagen als Return Code: 4


Hij slaat niets op in de ftp...

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
<?php
var_dump($_FILES);

$aantal = 5;
if($_SERVER['REQUEST_METHOD'] == 'POST'){
foreach($_FILES['file']['name'] as $key => $file_name) {
   echo 'Bestand ' . $_FILES['file']['name'][$key] . ' is tijdelijk opgeslagen als ' . $_FILES['file']['tmp_name'][$key];
            if ($_FILES["file"]["error"][$key] > 0){
            echo "Return Code: " . $_FILES["file"]["error"][$key] . "<br />";
        }
else{
            if($_FILE["file"]["size"][$key] > 0){
                if (file_exists("uploadfactuur/" . $_FILES["file"]["name"][$key])){
                    echo $_FILES["file"]["name"][$key] . " already exists. ";
                }
else{
                    move_uploaded_file($_FILES["file"]["tmp_name"][$key], "uploadsfactuur/" . $_FILES["file"]["name"][$key]);
                    echo "Stored in: " . "uploadfactuur/" . $_FILES["file"]["name"][$key];
                }
            }
        }
    }
}

?>


<html>
<body>

<form method="post" enctype="multipart/form-data">
<table>
<tr><td></td><td>Bestand</td><td>Omschrijving</td></tr>
<?php
for ($i = 1; $i <= $aantal; $i++) {
    echo '<tr>
            <td>'
.$i.'</td>
            <td><input name="file[]" type="file" /></td>
            <td><input type="text" name="omschrijving[]" value="'
.$_POST['omschrijving'.$i].'" size="35"></td>
          </tr>'
;
    }

?>

<tr><td></td><td><input type="submit" name="submit" value="Submit" /></td><td></td></tr>
</table>
</form>
</body>
</html>
 
Niels K

Niels K

28/06/2010 09:15:01
Quote Anchor link
Kijk anders even bij deze tutorial, daarin heb ik beschreven hoe je een file upload

http://www.phphulp.nl/php/tutorial/overig/uploadsysteem/705/uploaden-php/1859/

Later deze dag zal ik nog een upload class bij de scripts plaatsen, maar dan moet je nog even geduld hebben
 
Piet Verhagen

Piet Verhagen

28/06/2010 09:25:55
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
array(1) {
    ["file"]=> array(5) {
        ["name"]=> array(5) {
            [0]=> string(6) "nl.gif"
            [1]=> string(0) ""
            [2]=> string(0) ""
            [3]=> string(0) ""
            [4]=> string(0) ""
        }
        ["type"]=> array(5) {
            [0]=> string(9) "image/gif"
            [1]=> string(0) ""
            [2]=> string(0) ""
            [3]=> string(0) ""
            [4]=> string(0) ""
        }
        ["tmp_name"]=> array(5) {
            [0]=> string(14) "/tmp/phprwAerP"
            [1]=> string(0) ""
            [2]=> string(0) ""
            [3]=> string(0) ""
            [4]=> string(0) ""
        }
        ["error"]=> array(5) {
            [0]=> int(0)
            [1]=> int(4)
            [2]=> int(4)
            [3]=> int(4)
            [4]=> int(4)
        }
        ["size"]=> array(5) {
            [0]=> int(360)
            [1]=> int(0)
            [2]=> int(0)
            [3]=> int(0)
            [4]=> int(0)
        }
    }
}

Even wat mooiere weer gegeven. Dat word het een stuk duidelijker. Jammer dat je dat zelf niet doet.
php.net:
If filename is a valid upload file, but cannot be moved for some reason, no action will occur, and move_uploaded_file() will return FALSE. Additionally, a warning will be issued.

Je kunt dus doen in regel 12 - 17 van jou laatste code blokje:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
                if (file_exists("uploadfactuur/"  . $_FILES["file"]["name"][$key])){
                    echo $_FILES["file"]["name"][$key] . " already exists. ";
                } elseif(move_uploaded_file($_FILES["file"]["tmp_name"][$key], "uploadsfactuur/" . $_FILES["file"]["name"][$key])) {
                    echo "Stored in: " . "uploadfactuur/" . $_FILES["file"]["name"][$key];
                } else {
                    echo 'Opslaan mislukt.';
                }

Maak van de destination eens een absuluut pad. En chmod naar 777.
 
Niels K

Niels K

28/06/2010 09:35:37
Quote Anchor link
Ik heb de uploader bij de scripts toegevoegd.

http://www.phphulp.nl/php/script/classes/uploader-class/1792/
 
Jan Koehoorn

Jan Koehoorn

28/06/2010 10:31:27
Quote Anchor link
Bij uploadscripts gaat het vaak fout met de rechten die de map heeft waarnaar je je bestanden wilt uploaden. Wat ook vaak fout gaat, is de verwijzing naar de goede map.
Probeer maar eens:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
    echo $_SERVER['DOCUMENT_ROOT'] . '/uploadsfactuur/';
?>
 
Arjan -

Arjan -

28/06/2010 12:10:51
Quote Anchor link
Je had aardig wat foutjes in je code staan. Probeer het eens middels onderstaande code:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php

$map
= $_SERVER['DOCUMENT_ROOT'].'/uploadsfactuur/';

$aantal = 5;
if($_SERVER['REQUEST_METHOD'] == 'POST'){
    foreach($_FILES['file']['name'] as $key => $file_name) {
           
        echo 'Bestand ' . $file_name . ' is tijdelijk opgeslagen als ' . $_FILES['file']['tmp_name'][$key];
        
        if ($_FILES['file']['error'][$key] < 1){
            if($_FILES['file']['size'][$key] > 0){
                if (file_exists($map . $file_name)){
                    echo $file_name . " already exists. ";
                }
else{
                    move_uploaded_file($_FILES['file']['tmp_name'][$key], $map . $file_name);
                    echo "Stored in: " . $map . $file_name;
                }
            }
        }
else{
            echo "Return Code: " . $_FILES['file']['error'][$key] . "<br />";
        }
    }
}



?>
Gewijzigd op 28/06/2010 12:42:04 door Arjan -
 
Mitchel V

Mitchel V

28/06/2010 12:28:19
Quote Anchor link
bij het controleren van de groote van een bestand:

if($_FILES["file"]["size"][$key] > 0){

)

Ik heb gezien, als ik een file wil uploaden, dan krijg ik geen size mee :S
wat doe ik dan fout?
array:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
array(1) {
    ["file"]=> array(5) {
        ["name"]=> array(5) {
            [0]=> string(15) "middenboven.png"
            [1]=> string(15) "middenonder.png"
            [2]=> string(0) ""
            [3]=> string(0) ""
            [4]=> string(0) ""
        }
        ["type"]=> array(5) {
            [0]=> string(9) "image/png"
            [1]=> string(9) "image/png"
            [2]=> string(0) ""
            [3]=> string(0) ""
            [4]=> string(0) ""
        }
        ["tmp_name"]=> array(5) {
            [0]=> string(14) "/tmp/php746Dv6"
            [1]=> string(14) "/tmp/phpYY9hfT"
            [2]=> string(0) ""
            [3]=> string(0) ""
            [4]=> string(0) ""
        }
        ["error"]=> array(5) {
            [0]=> int(0)
            [1]=> int(0)
            [2]=> int(4)
            [3]=> int(4)
            [4]=> int(4)
        }
        ["size"]=> array(5) {
            [0]=> int(56083)
            [1]=> int(50727)
            [2]=> int(0)
            [3]=> int(0)
            [4]=> int(0)
        }
    }
}


Bestand middenboven.png is tijdelijk opgeslagen als /tmp/php746Dv6
Return Code: 0
Bestand middenonder.png is tijdelijk opgeslagen als /tmp/phpYY9hfT
Return Code: 0
Bestand is tijdelijk opgeslagen als
1
size: 0Bestand is tijdelijk opgeslagen als
1
size: 0Bestand is tijdelijk opgeslagen als
1


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
<?php
$rootmap
= $_SERVER['DOCUMENT_ROOT'].'/';

$aantal = 5;
if($_SERVER['REQUEST_METHOD'] == 'POST'){
    foreach($_FILES['file']['name'] as $key => $file_name) {
          
        echo 'Bestand ' . $file_name . ' is tijdelijk opgeslagen als ' . $_FILES['file']['tmp_name'][$key].'<br>';
        
        if ($_FILES["file"]["error"][$key] > UPLOAD_ERR_OK){
            echo '1<br>
            size: '
. $_FILES["file"]["size"][$key];
            if(!$_FILES["file"]["size"][$key] == 0){
                echo '2';
                if (file_exists($rootmap."uploadsfactuur/" . $file_name)){
                    echo $file_name . " already exists. ";
                }
else{
                    move_uploaded_file($_FILES["file"]["tmp_name"][$key], $rootmap."uploadsfactuur/" . $file_name);
                    echo "Stored in: " . $rootmap . "uploadsfactuur/" . $file_name;
                }
            }
        }
else{
            echo "Return Code: " . $_FILES["file"]["error"][$key] . "<br />";
        }
    }
}

?>
 
Arjan -

Arjan -

28/06/2010 12:40:58
Quote Anchor link
Gebruik nog even de aangepast versie van mijn post, want ik had zelf een foutje gemaakt en snel aangepast.

En je krijgt in je var_dump wel een size mee, zie onderaan je output:

["size"]=> array(5) {
[0]=> int(56083)
[1]=> int(50727)
[2]=> int(0)
[3]=> int(0)
[4]=> int(0)
}

De eerste 2 bestanden hebben een attribuut size met als waarde een integer. Dus dat is correct.
Gewijzigd op 28/06/2010 12:45:09 door Arjan -
 
Arjan -

Arjan -

28/06/2010 12:40:58
Quote Anchor link
Dubbelpost
Gewijzigd op 28/06/2010 12:41:13 door Arjan -
 
Mitchel V

Mitchel V

28/06/2010 12:56:26
Quote Anchor link
ok top.

Waar vind ik de error codes?
Zodat ik kan uitlezen wat Return Code: 4 is
 
Arjan -

Arjan -

28/06/2010 13:19:03
Quote Anchor link
http://www.php.net/manual/en/features.file-upload.errors.php

Je kan deze functie gebruiken (code uit bovenstaande link):

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php

function file_upload_error_message($error_code) {
    switch ($error_code) {
        case
UPLOAD_ERR_INI_SIZE:
            return 'The uploaded file exceeds the upload_max_filesize directive in php.ini';
        case
UPLOAD_ERR_FORM_SIZE:
            return 'The uploaded file exceeds the MAX_FILE_SIZE directive that was specified in the HTML form';
        case
UPLOAD_ERR_PARTIAL:
            return 'The uploaded file was only partially uploaded';
        case
UPLOAD_ERR_NO_FILE:
            return 'No file was uploaded';
        case
UPLOAD_ERR_NO_TMP_DIR:
            return 'Missing a temporary folder';
        case
UPLOAD_ERR_CANT_WRITE:
            return 'Failed to write file to disk';
        case
UPLOAD_ERR_EXTENSION:
            return 'File upload stopped by extension';
        default:

            return 'Unknown upload error';
    }
}


if ($_FILES['file']['error'] === UPLOAD_ERR_OK)
    // upload ok
else
    $error_message = file_upload_error_message($_FILES['file']['error']);

?>
Gewijzigd op 28/06/2010 13:20:45 door Arjan -
 
Mitchel V

Mitchel V

28/06/2010 14:11:36
Quote Anchor link
ok dit begind er op te lijken :D

Maar nu, buiten dat ik een file mee geef, wil ik ook een omschrijving mee geven..
Hoe kan ik die in de zelfde foreach zetten?

Dit werkt niet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
foreach($_FILES['file']['name'] as $key => $file_name && $_POST['omschrijving'] as $key2=> $omschrijving){

}

?>
Gewijzigd op 28/06/2010 14:12:20 door Mitchel V
 
Arjan -

Arjan -

28/06/2010 14:44:59
Quote Anchor link
Je zal dan dit moeten doen:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php

foreach($_FILES['file']['name'] as $key => $file_name){

echo $omschrijving[$key];

}


?>


De key van $_FILES['file']['name'] komt overeen met de omschrijving array. Dus dit zal moeten werken.

Ik denk dat het goed is dat je even goed kijkt hoe een array werkt en hoe je er mee kan werken. Want wanneer je in html een input de naam omschrijving[] mee geeft en je hebt hier nog 10x dezelfde inputs staan, dan krijg je dus een array zoals:

$omschrijving[0] = 'Omschrijving 1';
$omschrijving[1] = 'Omschrijving 2';
$omschrijving[2] = 'Omschrijving 3';
etc...

Hier zijn dus de cijfers tussen de brackets de keys van de array en die komen overeen met de keys in je $_FILES['file']['name'] array omdat die ook weer keys bevat, beginnend vanaf 0:

$_FILES['file']['name'][0] = 'Naam bestand 1';
$_FILES['file']['name'][1] = 'Naam bestand 2';
$_FILES['file']['name'][2] = 'Naam bestand 3';
Etc...
Gewijzigd op 28/06/2010 14:48:25 door Arjan -
 



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.