Toon posts:

plaatje uploaden

Pagina: 1
Acties:
  • 60 views sinds 30-01-2008

Verwijderd

Topicstarter
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:

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?

  • webfreakz.nl
  • Registratie: November 2003
  • Laatst online: 21-08 15:56

webfreakz.nl

el-nul-zet-é-er

Ik zie:
Bestand succesvol geupload.
:?

"You smell that, son? What sir? Napalm, I love the smell of napalm in the mornin!" || Children of Bodom fan!


Verwijderd

Topicstarter
Ik nu ook, maar zit met een nieuw probleem nu...
Als ik een .jpg-bestand upload van 1 KB doet ie het goed, maar een .jpg-bestand van 18 KB geeft de foutmelding: U gebruikt een ongeldig bestandstype!

Als ie nou zou zeggen dat het bestand te groot is...OK...maar dit...

Kan dat komen omdat er een cijfer of een '_' inzit? Nee toch?

[ Voor 7% gewijzigd door Verwijderd op 30-01-2007 21:10 ]


Verwijderd

Topicstarter
Ik zie nu dat als ik een bestand wil uploaden met de naam Meter1.jpg, dat ie als $mimetype "image/pjpeg" geeft, terwijl een bestandje favicon.gif als $mimetype "image/gif" heeft...raar...kennelijk gaat er iets fout met jpg-formaat...

  • Wolf87
  • Registratie: Juli 2004
  • Laatst online: 14:07
PHP:
1
elseif($_FILES['uploadbestand']['size'] > $toegestane_grootte)


hiermee haal je de grote op van je bestand en niet het formaat van de afbeelding. Daar ga je dus al de fout in.

  • silverstorm
  • Registratie: Februari 2005
  • Laatst online: 21-11 11:03

silverstorm

tearing me apart

image/pjpeg komt als je in IE een jp(e)g bestand probeert te uploaden.

Poverty stole your golden shoes, but it din’t steal your laughter
Fools memorize, smart people make notes

Het sysadmin irc-cafe


Verwijderd

Topicstarter
silverstorm schreef op dinsdag 30 januari 2007 @ 21:18:
image/pjpeg komt als je in IE een jp(e)g bestand probeert te uploaden.
Dank je. Ik heb nu in de toegestane mimetypes ook deze toegevoegd...nu werkt ie goed.

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 20-11 11:59

NMe

Quia Ego Sic Dico.

Als je problemen hebt met andermans code, dan zit je hier verkeerd. We geven geen support op andermans software, daarvoor moet je bij de maker zijn. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1

Dit topic is gesloten.