Upload pagina
Het uploaden van een file gebeurd door een aparte input type. Zoals je misschien standaard gewend bent gebruik je text, password etc. Deze keer gebruiken we het type file
Als je dat in een html file neerzet krijg je naast het input veld een knop ‘bladeren’ of ‘browse’ te zien. Ook moet er in het form het één en ander worden aangepast. Hierin geef je het MIME-Type mee.
De code van de file winkelUpload komt er dan zo uit te zien
Code (php)
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
52
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
52
<html>
<head>
<title>Foto winkel => Upload</title>
</head>
<body>
<form method="POST" action="<?php basename ($_SERVER['PHP_SELF']); ?>" enctype="multipart/form-data" />
<table>
<tr>
<td>Kies een foto</td>
</tr>
<tr>
<td><input type="file" name="foto" size="30" /></td>
</tr>
<tr>
<td>Beschrijving</td>
</tr>
<tr>
<td><textarea name="beschrijving" cols="30" rows="4"></textarea></td>
</tr>
<tr>
<td>Uw naam</td>
</tr>
<tr>
<td><input type="text" name="naam" size="40" /></td>
</tr>
<tr>
<td>Uw emailadres</td>
</tr>
<tr>
<td><input type="text" name="email" size="40" /></td>
</tr>
<tr>
<td><input type="submit" value="Uploaden" /></td>
</tr>
</table>
</form>
</body>
</html>
<head>
<title>Foto winkel => Upload</title>
</head>
<body>
<form method="POST" action="<?php basename ($_SERVER['PHP_SELF']); ?>" enctype="multipart/form-data" />
<table>
<tr>
<td>Kies een foto</td>
</tr>
<tr>
<td><input type="file" name="foto" size="30" /></td>
</tr>
<tr>
<td>Beschrijving</td>
</tr>
<tr>
<td><textarea name="beschrijving" cols="30" rows="4"></textarea></td>
</tr>
<tr>
<td>Uw naam</td>
</tr>
<tr>
<td><input type="text" name="naam" size="40" /></td>
</tr>
<tr>
<td>Uw emailadres</td>
</tr>
<tr>
<td><input type="text" name="email" size="40" /></td>
</tr>
<tr>
<td><input type="submit" value="Uploaden" /></td>
</tr>
</table>
</form>
</body>
</html>
Het enigste waar je op moeten letten is dus de enctype. Als je dit niet in je form hebt staan zal je nooit bestanden kunnen uploaden. Let daar dus op!
Even wat theorie
Als je een bestand upload naar een webserver gebeurt er het volgende. Het bestand wordt opgeslagen in een tijdelijke directory. Deze locatie wordt aangegeven met de aanduideing upload_tmp_dir in de php.ini. Daarna maakt PHP een superglobal met de naam $_FILES. Hierin wordt een array geplaatst met de naam van het formulier element. In ons geval dus de array ‘foto’.
Er zijn nu verschillende dingen die je via de superglobal kan opvragen.
- De naam
- De type
- De size
- Tmp_name (De tijdelijke naam die door PHP is toegkend)
- Error
Dus, als ik de naam van het bestand wil weten kan dat op de volgende manier
Als er tijdens het uploaden een fout is opgetreden kan je die ook makkelijk bekijken via de superglobal. Straks in het upload script zullen we deze foutmeldingen behandelen.
« vorige pagina | volgende pagina »
Inhoudsopgave
- Inleiding
- Index pagina
- Benodigd heden
- Upload pagina
- Configuratie bestand
- Uploaden (PHP)
- Afronden uploaden
- Slot