bestand uploaden naar server

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wijnand H

Wijnand H

02/03/2011 13:51:49
Quote Anchor link
Hallo allemaal,

Ik heb hier een script om bestanden te uploaden, maar nu kom ik hier niet mee verder, want ik krijg nergens errors of iets dergelijks van wat er nou fout gaat..

ik zal hier even de scripts plaatsen.
als eerste de interface om het bestand uit te kiezen en (eventueel) de bestandsnaam aan te passen:
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
<html>
<head><title>Upload een bestand</title></head>
<body>
<?php
error_reporting(E_ALL);
ini_set('display_errors', '1');
?>

    <p>Je kunt de <b>naam om up te loaden leeg laten</b>. Dan wordt de naam zoals het bestand om het moment zelf heet.</p>
    
    <form enctype="multipart/form-data" action="upload.php" method="post">
    <p>
    <input type="hidden" name="MAX_FILE_SIZE" value="1000000" />
    Selecteer een bestand: <input name="userfile" type="file"><br />
    Naam om up te loaden: <input name="newname" type="text"><br />
    <input type="submit" value="upload bestand" />
    </p>
    </form>

</body>
</html>



Hier dan de code van het uploaden van het bestand.
Ik weet ook net precies hoe ik goede map krijg voor waar het naartoe gaat, want de upload.php staat al in 2 mappen diep en daarna staat de bestemming van de bestanden weer uit die 2 mappen en dan weer 3 mappen diep ergens anders.

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
<?  
global $_FILES;
error_reporting(E_ALL);
ini_set('display_errors', '1');
$filename = $_FILES['userfile']['name'];  

$allow[0] = "jpg";
$allow[1] = "gif";
$allow[2] = "bmp";
$allow[3] = "pdf";
$allow[4] = "doc";

if ($_POST["newname"])
    $uploadname = $_POST['newname'];
else
    $uploadname = $_FILES['userfile']['name'];
    
$extentie = substr($uploadname, -3);

for ($i = 0; $i < count($allow); $i++)
{

    if ($extentie == $allow[$i])
    {

        $extentie_check = "ok";
        $i = count($allow) + 5; // om loop te beindigen
    }
}


if ($extentie_check)
{

    if (is_uploaded_file($_FILES['userfile']['name'])) {
        move_uploaded_file($_FILES['userfile']['name'], "../../userfiles/File/PDF/" . $uploadname);  

        echo "Het bestand is geupload onder de naam: $uploadname";
    }
}


else
{
    echo "Jij bent stout! Mag niet hoor!";
}
  
?>


(pas deze site aan op mijn stage en stagebegeleider is paar daagjes weg dus zit even vast op dit soort stomme dingen)

Danku!
 
PHP hulp

PHP hulp

24/11/2024 20:34:15
 
- SanThe -

- SanThe -

02/03/2011 14:51:31
Quote Anchor link
Dit is niet goed.
move_uploaded_file($_FILES['userfile']['name'], ........

Probeer de temporary_name eens.
(Weet zo even niet precies hoe je het schrijft).
Gewijzigd op 02/03/2011 14:51:55 door - SanThe -
 
Kris Peeters

Kris Peeters

02/03/2011 15:58:05
Quote Anchor link
Twee dingen

- Die ... error_reporting(E_ALL); ...
Dat moet niet binnen de <body>. Dat gaat over php fouten, niet over html fouten.
Zet dat helemaal bovenaan.

- Die extensie check is niet goed. De tijd dat extensies maar drie letters mochten zijn, is al een tijd achter ons.
'mijn_foto.jpeg' zal bij jou worden tegengehouden; onterecht. Ook files met een extensie in hoofdletters worden bij jou tegengehouden.

Extensies checken, doe je met pathinfo. Hier vind je uitgewerkte voorbeelden (bij de commentaren) http://php.net/manual/en/function.pathinfo.php
 
Wijnand H

Wijnand H

02/03/2011 16:38:31
Quote Anchor link
- SanThe - op 02/03/2011 14:51:31:
Dit is niet goed.
move_uploaded_file($_FILES['userfile']['name'], ........

Probeer de temporary_name eens.
(Weet zo even niet precies hoe je het schrijft).

ehmm ik kan volgensmij gewoon dan gewoon tmp_name doen of iets dergelijks, maar hoe kan ik hiermee verder komen dan? Wat is dan het voordeel van er tmp_name van te maken dat snap ik niet helemaal?

en voor die extentie's eventjes puzzellen, maar daar kan ik voor 5en vast nog wel wat moois tussen vinden danku !
Gewijzigd op 02/03/2011 16:40:35 door Wijnand H
 



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.