Ik wil graag voor een overzichtspagina plaatjes kunnen uploaden naar mijn webserver (extern gehorst door http://www.subhosting.nl). Nou heb ik het volgende script gevonden:
Als ik het ga testen geeft ie de volgende foutmeldingen:
De file waarin het script staat zit in een map, en ook in die map zit een map 'images', waarvan ik de CHMOD al op 777 heb gezet (dus je zou zeggen dat de rechten geen probleem moeten zijn...)
Wie kan mij hiermee helpen?
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
| <?php // Maximale bestandsgrootte in bytes $toegestane_grootte = 1024*1024; // Toegestane extensies $toegestane_mimetypes = array("image/jpeg","image/jpg","image/gif","image/png"); // Map waar het bestand geplaatst moet worden. $uploadmap = 'images/'; // Error berichten $errors = array( 0=>"Bestand succesvol geupload.", 1=>"De grootte van het bestand overschrijdt de upload_max_filesize (".ini_get("upload_max_filesize").") in php.ini.", 2=>"De grootte van het bestand overschrijdt de MAX_FILE_SIZE (".$toegestane_grootte." bytes) die opgegeven is in het HTML formulier", 3=>"Het bestand is slecht gedeeltelijk geupload.", 4=>"Geen bestand geupload.", 6=>"Kan de tijdelijke map niet vinden." ); if($_SERVER['REQUEST_METHOD'] == 'POST'){ // Mime-type bepalen $mimetype = strtolower($_FILES['uploadbestand']['type']); // Controleren of er geen hack poging plaats vind if(!is_uploaded_file($_FILES['uploadbestand']['tmp_name'])) die("Mogelijke hack poging <em>".$_FILES['uploadbestand']['name']."</em>"); // Op errors controleren elseif($_FILES['uploadbestand']['error'] != 0) die("<strong>Error:</strong><br />".$errors[$_FILES['uploadbestand']['error']]); // Bestandsgrootte controleren elseif($_FILES['uploadbestand']['size'] > $toegestane_grootte) die("Het bestand is te groot"); // Extensie controleren elseif(!in_array($mimetype,$toegestane_mimetypes)) die("U gebruikt een ongeldig bestandstype!"); // Alles in orde, bestand verplaatsen else { $bestand_nieuw = $uploadmap . basename($_FILES['uploadbestand']['name']); // Verplaatsen en weergeven of dat gelukt is of niet if (move_uploaded_file($_FILES['uploadbestand']['tmp_name'], $bestand_nieuw)) echo "Bestand succesvol geupload."; else echo "Bestand niet geupload."; } }else{ // Het formulier echo "<form name='uploadform' enctype='multipart/form-data' action='".$_SERVER['PHP_SELF']."' method='post'> <input type='hidden' name='MAX_FILE_SIZE' value='".$toegestane_grootte."' /> <input type='file' name='uploadbestand' /><br /> <input type='submit' name='submit' value='Uploaden' /> </form>"; } ?> |
Als ik het ga testen geeft ie de volgende foutmeldingen:
code:
1
2
3
4
| Warning: move_uploaded_file(images/favicon.gif): failed to open stream: Permission denied in /home/bdenhollan/domains/bdenhollander.nl/public_html/metermodule/upload.php on line 36 Warning: move_uploaded_file(): Unable to move '/tmp/phpG85Mwe' to 'images/favicon.gif' in /home/bdenhollan/domains/bdenhollander.nl/public_html/metermodule/upload.php on line 36 Bestand niet geupload. |
De file waarin het script staat zit in een map, en ook in die map zit een map 'images', waarvan ik de CHMOD al op 777 heb gezet (dus je zou zeggen dat de rechten geen probleem moeten zijn...)
Wie kan mij hiermee helpen?