upload script werkt niet.

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

SCO

SCO

29/11/2006 19:58:00
Quote Anchor link
Kan iemand mij helpen? De lokatie van mijn map op de server is httpdocs/test/database/.

Form.php:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<? print ("<form method=post action='submit.php' enctype=multipart/form-data>
Bestand: <input type=\"file\" name=\"bestand\"><br><br>
<input type='hidden' name='Uploaden' value='true'/>
<input type='submit' name='Submit' value='Submit'></form>"
);
?>


Form.php staat in /test, evenals submit.php

Het upload script, van Ron
http://www.phphulp.nl/php/scripts/2/96/

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
52
53
54
55
56
57
58
59
60
61
62
63
64
65
<?PHP

// In welke map komen de bestanden ? ( zorg dat deze de permissies 777 krijgt )
$map = "/database/";

// Wat is de maximale groote van het bestand in bytes ( 1 kb = 1000 bytes )
$max = "1000000";  

// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen )
$ext = "jpg JPG";  

// Hieronder niks aanpassen

// Controleren


if ($_POST['Uploaden'])
{
  
    if (!$_FILES['bestand'])  
        print ("Geef een bestand op!");
    else
    {  
        // Bestands naam opvragen
        $bestand2 = explode("\\", $_FILES['bestand']['name']);  
        $laatste = count($bestand2) - 1;  
        $bestand2 = "$bestand2[$laatste]";    
        
        // Extensie van bestand opvragen
        $bestand3 = explode(".", $bestand2);  
        $laatste = count($bestand3) - 1;  
        $bestand3 = "$bestand3[$laatste]";    
        $bestand3 = strtolower($bestand3);  
        
        // Toegestaande extensies opvragen
        
        $ext = strtolower($ext);  
        $ext = explode(" ", $ext);  
        $aantal = count($ext);  
        
        for ($tel = 0;$tel < $aantal; $tel++)
        {
  
            if ($bestand3 == $ext[$tel])
            {
  
                $extfout = "nee";  
            }
        }
  
    
        if (!$extfout)
        {
  
            print ("Het bestand \"$bestand2\" kan niet worden geupload omdat de extensie niet is toegestaan!");  
        }
  
        else  
        {  
            if ($_FILES['bestand']['size'] > $max)  
                print ("Het bestand \"$bestand2\" is groter dan $max bytes!");  
            else  
            {  
                // Opslaan van het bestand
                move_uploaded_file($_FILES['bestand'], "$map$bestand2");    
                print ("Het bestand \"$bestand2\" is met succes geupload!");  
            }  
        }
    }
}


?>


Als de foto te groot is of een ander bestandsformaat is, dan geeft ie keurig de goede melding. De melding die ik steeds krijg indien aan bestandsgrootte en bestandstype is voldaan is dat het bestand succesvol is geupload. Echter de image blijkt helemaal niet geupload te zijn. Ook al heb ik de map alle rechten gegeven CHRMOD 777. Wat doe ik fout?

Alvast bedankt!
 
PHP hulp

PHP hulp

19/11/2024 06:33:55
 
Niels Beckers

Niels Beckers

29/11/2006 20:05:00
Quote Anchor link
Probeer eens met een if

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

  if(move_uploaded_file($_FILES['bestand'], "$map$bestand2"))
{

                print ("Het bestand \"$bestand2\" is met succes geupload!");  
}

else
{
echo 'Het is mislukt';
}

?>
 
Joren de Wit

Joren de Wit

29/11/2006 20:08:00
Quote Anchor link
Je move_uploaded_file() functie klopt niet. Dat moet zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
move_uploaded_file($_FILES['bestand']['tmp_name'], $map.$bestand2);
?>


ps. Zet ook eens
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
?>

bovenaan je script. Hoogstwaarschijnlijk had je dan wel een melding gekregen.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
 
SCO

SCO

29/11/2006 21:16:00
Quote Anchor link
Ik heb de move_uploaded_file() functie gewijzigd en je display error functie erin gezet en ik krijg nu dit:

Warning: move_uploaded_file(): SAFE MODE Restriction in effect. The script whose uid is 10203 is not allowed to access / owned by uid 0 in /home/httpd/vhosts/websitenaam.nl/httpdocs/test/submit.php on line 210

?
 
Jens V

Jens V

29/11/2006 21:23:00
Quote Anchor link
Er bestaat hier zo een script.
ik gebruik het zelf.
Ik ben er heel tevregen over...

http://www.phphulp.nl/php/scripts/2/96/

Mvg Jens :)
 
SCO

SCO

29/11/2006 22:16:00
Quote Anchor link
Dank Jens, t werkt perfect!!! :D
 



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.