Upload een bestand

Door Cbr Examinator, 25 jaar geleden, 20.519x bekeken

Hoe ga ik te werk :

1 - Maak een map ( Upload-script ) // of iets
2 - Maak nog een map aan ( in de map Upload-script )
Deze heet : uploadmap CHMOD deze map met 777 of 666
4 - Uitleg over CHMOD : http://www.phphulp.nl/php/tutorials/8/54/
3 - Het voorbeeld Url word : http://jouwwebsitetje.nl/Upload-script/uploaden

Geen voorbeeld meer. Maar hij werk goed. :-) Ronn

Gesponsorde koppelingen

PHP script bestanden

  1. upload-een-bestand

 

Er zijn 77 reacties op 'Upload een bestand'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
B a s
B a s
25 jaar geleden
 
0 +1 -0 -1
netjes gemaakt... alleen worden er geen superglobals gebruikt in dit script wat wel nodig is voor de nieuwere versies van PHP.. Zit o.a. in PHPDev dus dan werkt dit script niet.. ik heb het stiekem aangepast ;)
Eris -
Eris -
25 jaar geleden
 
0 +1 -0 -1
En je maakt gebruik van copy ipv moveuploadfile wat weet niet gaat op 99% van de comerciele servers inverband met safe mode
B a s
B a s
25 jaar geleden
 
0 +1 -0 -1
Ok, ik heb hem nu ook aangepast met move_uploaded_file() functie ipv copy.. Zoals hij nu is werkt hij, en doet hij het goed.. Ook heb ik bij toelichting vermeld dat de 'uploadbestanden' map gechmod moet worden met bijv. 777 :)
Jarno
Jarno
25 jaar geleden
 
0 +1 -0 -1
opzig handig.


25 jaar geleden
 
0 +1 -0 -1
dubbelle bestandsnamen worden gewoon overschreven?


25 jaar geleden
 
0 +1 -0 -1
ok,een newb vraag ff: hoe zet je een map met chmod 777?
Cbr Examinator
Cbr Examinator
25 jaar geleden
 
0 +1 -0 -1
Via je ftp : ga naar je upload kant ( druk nu op rechts en dan op ''chmod'' of wel CUNIX.. dan is het 777..

groetjes ronn
Hammock
hammock
25 jaar geleden
 
0 +1 -0 -1
Is het niet gevaarlijk om te chmodden met 777? Dan kan iedereen van hartelust files in die map wijzigen, aanmaken en deleten. Moet dit geen 666 zijn?


25 jaar geleden
 
0 +1 -0 -1
666 is ook goed.

Nog een vraagje, kan je als je bijvoorbeeld een plaatje upload het script laten checken of het niet te groot is? Dus dat het maximum bijvoorbeeld 100 x 75 pixels is?


25 jaar geleden
 
0 +1 -0 -1
Ik heb alles precies zo gedaan als hierboven. Het lijkt te werken: te als een bestand te groot is zegt hij dat, en onjuiste extensies pakt hij ook niet. Als je een geschikt bestand hebt geupload zegt hij dat het geupload is, maar vervolgens staat hij niet in de map uploadbestanden. Ik heb deze map wel ge-CHMOD. Wat kan het zijn?


25 jaar geleden
 
0 +1 -0 -1
moet upload.php in de map Upload??


25 jaar geleden
 
0 +1 -0 -1
Ronn: waar is die zip dan? Hoe laat je je script automatisch thumbs maken? Ik kan dat script niet vinden


25 jaar geleden
 
0 +1 -0 -1
Hans: controleer of de mapnaam goed is.


25 jaar geleden
 
0 +1 -0 -1
Hans: Je hebt gelijk bij mij werkt 't ook niet. Heb de download versie geprobeerd en die doet 't wel terwijl de code die hierboven staat het niet doet. Dus download http://www.phphulp.nl/php/dl/script/129, verander 'copy' door 'move_uploaded_file', CHMOD de map en dan werkt 't. Iemand een verklaring waarom bovenstaand script het niet meer doet? Komt het door $_FILES wat niet in het werkende script staat?


25 jaar geleden
 
0 +1 -0 -1
hey ronn wat is je e-mail adress


25 jaar geleden
 
0 +1 -0 -1
@import url(file:///D|/system/main.css); <-- ?


25 jaar geleden
 
0 +1 -0 -1
klein vraagje: als je bij mij ingelogd bent ga je naar de welkompagina. Daar kan je dan kiezen uit een paar dingen. Als je dan op een link klikt naar een beveiligde pagina geeft ie aan "ongeldige login-naam". Dat betekent dat hij denkt dat je niet ingelogd bent.
Is het zo dat je alleen de eerstvolgende pagina kan beveiligen, of heb ik iets fout gedaan??
wie het weet mag t zeggen!
thanx


25 jaar geleden
 
0 +1 -0 -1
sorry, verkeerde...


25 jaar geleden
 
0 +1 -0 -1
Bij mij werkt het niet


25 jaar geleden
 
0 +1 -0 -1
Bij werkt het script niet.
Hij komt niet eens met de melding dat de extensie niet geldig is.


25 jaar geleden
 
0 +1 -0 -1
Na veel aanpassen werkt hij toch nog.
Allerlei variabele er nog aan toegevoegd die bij een form horen.
bv:
$bestand_name=$_FILES['bestand']['name'];
$bestand=$_FILES['bestand']['tmp_name'];


25 jaar geleden
 
0 +1 -0 -1
Adam, bedankt voor de tip om 'copy' the vervangen met 'move_uploaded_file', nu werkt het script bij mij. Thanks!


25 jaar geleden
 
0 +1 -0 -1
Hoe moet je in dreamweaver dat 666 doen want bij mij lukt dat echt niet


25 jaar geleden
 
0 +1 -0 -1
Hoe moet je in dreamweaver dat 666 doen want bij mij lukt dat echt niet


25 jaar geleden
 
0 +1 -0 -1
Hoe moet je in dreamweaver dat 666 doen want bij mij lukt dat echt niet


25 jaar geleden
 
0 +1 -0 -1
666 en al dat ander geCHMOD gaat alleen op UNIX hosts (servers). Bv in WS_FTP (of ander ftp proggie) , rechtermuis --> CHMOD (read, write, execute).


25 jaar geleden
 
0 +1 -0 -1
Download dan even een demo.. ;-)


25 jaar geleden
 
0 +1 -0 -1
Er is weer een nieuwe uit.. bij www.ronnvanrossum.nl
Die is echter nog mooier..

Mmm even kijken dus.. in zijn navi - kijk dan onder fotoalbum.. met upload..


25 jaar geleden
 
0 +1 -0 -1
in welke map moet upload.php???


25 jaar geleden
 
0 +1 -0 -1
in welke map moet upload.php???
Cbr Examinator
Cbr Examinator
25 jaar geleden
 
0 +1 -0 -1
De upload map moet gewoon in de eerst map waar dus alles staat. ( daar komt de upload,,)
Cbr Examinator
Cbr Examinator
25 jaar geleden
 
0 +1 -0 -1
Ook wel leuk als je een email heb zonder ( mailto:privee )..
Nu moet je er zelf achter komen dat ik dit geplaatst heb.

Mmmm : Maar Tom kijk wel..
Cbr Examinator
Cbr Examinator
25 jaar geleden
 
0 +1 -0 -1
De voorbeeld is niet meer aanwezig..

Even voor de nieuwe mensen? Wel weer een andere'' met een extra fotomap en < jaja > globals'' ook dat zit er in nu..

( Groetjes ronn )


25 jaar geleden
 
0 +1 -0 -1
Volges mij wel net script alleen een opmerking: 1kb = 1024 bytes...


25 jaar geleden
 
0 +1 -0 -1
tja,

leuk dat t bij andere werkt, maar ik schijn het dus ffkes nie voor elkaar te krijgen, weird of niet????

ik krijg dus de melding "No input file specified" ik kan hier geen wijs uit, ook kan ik mijn map niet chmodden naar 777, waarom weet ik niet maar hij geeft t niet kado, ik weet nie wat ik nu moet doen, zit hier met mn handen in het haar, helemaal geblokkeerd, echt ik krijg een kut weekend, denk zelfs om te stoppen met werken, ik zie het leven nie meer zitten, maar goed,

mocht iemand een lichtpuntje hebben dan hoor ik dat graag, liefst voor t weekend natuurlijk anders is het ook geen probleem, ik kom er wel weer bovenop.

greetings earthlings

*zip*


24 jaar geleden
 
0 +1 -0 -1
ook lijkt het me niet zo slim om bestanden zoals .php bestanden toe te laten, aangezien je daarmee de database informatie kan achterhalen (gebruikersnaam en wachtwoord)


24 jaar geleden
 
0 +1 -0 -1
Heeft iemand de juiste URL om de zip-bestanden te downloaden?


24 jaar geleden
 
0 +1 -0 -1
Waarom wordt de $ext gevuld met extensies met hoofdletters en zonder hoofdletters als de $ext uiteindelijk toch door een strtolower() gehaald wordt?
Beem
beem
24 jaar geleden
 
0 +1 -0 -1
Hij geeft aan dat de file met succes geupload is, alleen de file is nergens te vinden. Iemand enig idee hoe dit zou kunnen?
Beem
beem
24 jaar geleden
 
0 +1 -0 -1
oke, i.p.v.:

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

heb ik gedaan:

move_uploaded_file($_FILES['bestand']['temp_name'], "$map$bestand2");

Nu werkt hij wel. Weet iemand wat je moet veranderen om hem onder een andere naam op te slaan?


24 jaar geleden
 
0 +1 -0 -1
hoe krijg je

2# maak nog een map aan ( in de map Upload )
Deze heet : uploadbestanden
"CHMOD deze map met 777 of 766"

dit voor me kaar op windows 2000 server
B a s
B a s
24 jaar geleden
 
0 +1 -0 -1
je hoeft niet chmod te doen op windows :) als het je niet lukt, dan kun je rechtermuisknop -> lezen & schrijven aanvinken..


24 jaar geleden
 
0 +1 -0 -1
Notice: Undefined variable: extfout in c:\inetpub\wwwroot\upload.php on line 56

`k krijg deze fout..
weet iemand waarom?!


24 jaar geleden
 
0 +1 -0 -1
Hoe ik het ook went of keer ik krijg het script niet aan de praat, helaas
kan ik de zip niet downloaden omdat deze niet meer onder de desbetreffende link staat, volgens mij is het script compleet, maar bij mij maakt ie nog steeds de fout dat ie wel een bevestiging stuurt naar het scherm, met de melding ...is succesvol geupload, maar in geen enkel map kan ik het bestand terug vinden, ik vind het wel jammer, want als het wel zou werken zou ik het echt top vinden.
ps.Heeft iemand het zip bestand nog voor mij?

Greetz,
Snos


24 jaar geleden
 
0 +1 -0 -1
Hey,

We zijn bezig met dit script, maar krijgen constant de volgende foutmelding:

Undefined index: Uploaden in e:\WWW\47076\upload2.php on line 29

Iemand enig idee wat hieraan te doen is?
Jelmer -
Jelmer -
24 jaar geleden
 
0 +1 -0 -1
Zet dit erbij tussen <form> en </form>:
<input type="hidden" name="Uploaden" value="true"/>


23 jaar geleden
 
0 +1 -0 -1
Als ik een bestand upload lijkt het goed te gaan, ik krijg geen foutmelding, hij geeft aan dat het betreffende bestandje is geupload maar het bestandje wat ik upload staat ook niet in het mapje!
wie kan me hlepen, ik heb het script precies overgenomen zoals het hier staat.
Niels Beckers
Niels Beckers
23 jaar geleden
 
0 +1 -0 -1
heb je de juiste $variable's verandert?


23 jaar geleden
 
0 +1 -0 -1
Welke $variable moet ik dan allemaal veranderen?? ik heb het precies zoals de schrijver verteld uitgevoerd, juiste directory aangemaakt etc. ik krijg ook gewoon een keurige melding dat hij het bestand met succes heeft geupload. maar volgens mij vind er geen controle plaats. er zal vast wel ergens een foutje zitten, maarja wat
Niels Beckers
Niels Beckers
23 jaar geleden
 
0 +1 -0 -1
euhm zoals $map fzo ? heb je deze ook daadwerkelijk aangemaakt en hem 777 gegeven?


23 jaar geleden
 
0 +1 -0 -1
Jaja uiteraard heb ik mijn $map goed staan, eerste waar je naar kijkt he.
a
Niels Beckers
Niels Beckers
23 jaar geleden
 
0 +1 -0 -1
<html>

<head>

<title>upload jouw foto</title>
</head>



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
66
67
68
69
70
71
72
<?PHP

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

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

// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen )
$ext = "jpg JPG gif GIF png PNG exe EXE php PHP zip ZIP htm HTM html HTML";  

// 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!");  
            }  
        }
    }
}
  


// Upload formulier

print ("<form method=post action=" . $_SERVER['PHP_SELF'] . " enctype=multipart/form-data>
Bestand: <input type="
hidden" name="Uploaden" value="true"/> br><br>
<input type=\"submit\" name=\"Uploaden\" value=\"Uploaden\"></form>"
);

?>



probeer deze eens


23 jaar geleden
 
0 +1 -0 -1
Ik krijg gelijk een foutmelding, Parse error: regel 78:
dit staat in regel 78
Bestand: <input type="hidden" name="Uploaden" value="true"/> br><br>
ik krijg nu niet een een invoer veld meer.
Niels Beckers
Niels Beckers
23 jaar geleden
 
0 +1 -0 -1
oeps
fout zo te zien euhm

<html>

<head>

<title>upload jouw foto</title>
</head>



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
66
67
68
69
70
71
72
<?PHP

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

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

// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen )
$ext = "jpg JPG gif GIF png PNG exe EXE php PHP zip ZIP htm HTM html HTML";  

// 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!");  
            }  
        }
    }
}
  


// Upload formulier

print ("<form method=post action=" . $_SERVER['PHP_SELF'] . " enctype=multipart/form-data>
Bestand: <input type=\"file\" name=\"bestand\"><br><br>
<input type="
hidden" name="Uploaden" value="true"/> </form>");

?>


zo?


23 jaar geleden
 
0 +1 -0 -1
nee weer niet, en als ik de laatste regel nu weer verander naar de oude waarde dan krijg ik wel weer een invoerveld te zien en kan ik uploaden, alleen upload hij de file niet ondanks dat hij zegt dat de file met succes is geupload. kortom het werkt nog steeds niet.
@niels: heb jij hem wel werkend?
Niels Beckers
Niels Beckers
23 jaar geleden
 
0 +1 -0 -1
kzla tem ffe uittesten
maar kan ook aan je host liggen welke host gebruik je?


23 jaar geleden
 
0 +1 -0 -1
ik gebruik dit script op mijn eigen server, dus gebruik het ook locaal (intranet) ik gebruik apach, php 4.3 geloof ik


23 jaar geleden
 
0 +1 -0 -1
Ik zoek een script waar je kan kiezen in welke directory je de bestanden (het bestand) wilt uploaden.

Bijv. ik heb de directory's: dir1, dir2 en dir3. Nou wil ik d.m.v. een drop down, checkbox of iets dergelijks dat je kunt kiezen of je het bestand in dir1, dir2 of dir3 wilt uploaden! (dit scheelt een hoop losse bestanden!!)

Kan iemand mij hier mee helpen??
Zillion
zillion
23 jaar geleden
 
0 +1 -0 -1
verander

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

in

move_uploaded_file($_FILES['bestand']['tmp_name'], "$map$bestand2");

dan doet ie het bij mij... dus niet temp_name zoals iemand hierboven schreef.

overigens kan ik de folder waar naar toe wordt upgeload gewoon op 711 laten staan
Jozef
Jozef
23 jaar geleden
 
0 +1 -0 -1
Hallo,
Welke versie werkt er eigenlijk?
Rogier H
Rogier H
22 jaar geleden
 
0 +1 -0 -1
hallo,
als ik op uploaden klik, zonder iets in te vullen,
krijg ik:

Het bestand "" kan niet worden geupload omdat de extensie niet is toegestaan!

De controle of ik iets heb ingevuld werkt dus alleen als je iets hebt ingevuld.

if (!$_FILES['bestand'])

weet iemand hoe je dit moet oplossen?
Cbr Examinator
Cbr Examinator
22 jaar geleden
 
0 +1 -0 -1
// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen )
$ext = "jpg gif png avi wma bmp bat exe";

Ik weet niet..????
H. Fokker
H. Fokker
22 jaar geleden
 
0 +1 -0 -1
Prima script, werkt prima! In mijn toepassing wil ik dat het upload-bestand niet de eigen naam houdt, maar een vaste nieuwe naam gaat krijgen. Ik heb deze regel ingevoegd en dat werkt ook wel, maar ... de controle op de extentie raak ik hiermee kwijt. Hoe los ik dit beter op?

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

else{

//Bestand hernoemen
$bestand_name = 'vastenaam.doc';
        
// Bestandsnaam opvragen (vanaf hier weer het script volgen)
$bestand2 = explode("\\", $bestand_name);
$laatste = count($bestand2) - 1;
$bestand2 = "$bestand2[$laatste]";

?>
L.a.laman
l.a.laman
22 jaar geleden
 
0 +1 -0 -1
mooi schript het werk goed als je kleine bestanden wil uploaden maar het werkt niet als je grotere bestanden wil uploaden( groter dan ong. 3 Mb) dat doet ie niet heeft er iemand miss een oplossing??
Eduard
Eduard
22 jaar geleden
 
0 +1 -0 -1
@la.laman -

Zie je die variable
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
// Wat is de maximale groote van het bestand in bytes ( 1 kb = 1000 bytes )
$max = "100000";  

snap je ?
pas dat getal aan, naar de gewenste grote en het is goed :).

Eduard
Cmug
cmug
20 jaar geleden
 
0 +1 -0 -1
Ik snap helemaal niks van die openings zin in het script.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
<?php
if ($_POST['Uploaden']) {  
if (!$_FILES['bestand'])  
print ("Geef een bestand op!");
else {
//etc
?>


Werkt dat wel zoals het moet ? (bij mij niet) . Zou het niet zo moeten?
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php
// Controleren
if(isset($_POST["upload"])) {  
$bestandstype =$_FILES["bestand"]["type"];
strtolower($bestandstype);
if($bestandstype == ""){
        echo "Je hebt geen bijlage ge-upload ";
        }
else {
        echo "je hebt <b>wel</b> een bijlage";
        }
    }
//etc
?>


20 jaar geleden
 
0 +1 -0 -1
Ik zou eerder zeggen dat het zo moet:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
<?php
// Controleren
if($_SERVER['REQUEST_METHOD'] == 'POST') {  
if(empty($_FILES)){
        echo "Je hebt geen bijlage ge-upload ";
        }
else {
        echo "je hebt <b>wel</b> een bijlage";
        }
    }
//etc
?>

Weet niet zeker of dat kan met die empty $_FILES, maar zo is het nog netter...
Cmug
cmug
20 jaar geleden
 
0 +1 -0 -1
Bedankt 'Jeej'
Voor het meedenken, jou oplossing is eenvoudiger dus overzichtelijker dus ook mijn voorkeur. Heb even getest en je moet alleen tikje exacter aangeven dan werkt die helemaal goed: namelijk
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST') {  
if(empty($_FILES["bestand"]["type"])){
//etc
?>


20 jaar geleden
 
0 +1 -0 -1
OKe, je kunt dus niet gewoon simpel empy($_FILES) doen, dan had ik verkeerd gegokt... Maar zal het onthouden :-).
Cmug
cmug
20 jaar geleden
 
0 +1 -0 -1
Ik heb het validatie deel een beetje herschreven (rest had ik al). Ik denk dat het net even beter is. Misschien hebben anderen er wat aan dus ik post het hier even. Let op mijn bestand heet: 'bijlage' en mijn submit knop 'heet' submit
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
66
67
68
69
70
71
72
73
<?php
// formulier deel (HTML /PHP)
//<form action="<?php echo $_SERVER['PHP_SELF'];"
//enctype="multipart/form-data"  method="POST" >
//echo "<input type=\"file\" name=\"bijlage\">";
//<td><input type="submit" name="submit" //value="Verzenden"class='inputsmall'></td>


function checkType ($extfout="") {    
// Wat is de maximale groote van het bijlage in bytes ( 1 kb = 1000 bytes )
$max = "2000000";  
$max_in_MB=($max/1000000);

// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen )
$ext = "jpg JPG gif GIF png PNG exe EXE php PHP zip ZIP htm HTM html HTML doc DOC pages PAGES";  

// Controleren
if($_SERVER['REQUEST_METHOD'] == 'POST') {  
if(empty($_FILES["bijlage"]["type"])){
        echo "<p class=\"Free_Form\" align=\"left\"><br><b>Je hebt <i>geen<i> bijlage toegevoegd</b></p>";  // controle op werking
        }else {
        echo "<p class=\"Free_Form\" align=\"left\"><br><b>Jouw bijlage  wordt nu verwerkt. </b></p>";

        //Bestands naam opvragen
          $bijlage_naam = explode("\\", $_FILES["bijlage"]["name"]);  
          $laatste = count($bijlage_naam) - 1;  
        $bijlage_naam = "$bijlage_naam[$laatste]";  
        
        //Extensie van bijlage opvragen
        $bijlage_extensie = explode(".", $bijlage_naam);  
        $laatste = count($bijlage_extensie) - 1;  
        $bijlage_extensie = "$bijlage_extensie[$laatste]";  
        $bijlage_extensie = strtolower($bijlage_extensie);  

         //Toegestaande extensies opvragen
           $ext = strtolower($ext);  
        $ext = explode(" ", $ext);  
        $aantal = count($ext);  
        
        for ($tel = 0;$tel < $aantal; $tel++)
        {
  
             if ($bijlage_extensie == $ext[$tel])
        {
  
              $extfout = "nee";  
        }
        }
  
               if (!$extfout)
        {
  
               echo "<p class=\"Free_Form\" align=\"left\"><br><u><b>Maar....wat blijkt:</b></u>";
               echo "<p class=\"Free_Form\" align=\"left\"><br><b>De bijlage\"$bijlage_naam\" kan niet worden geupload omdat de extensie niet is toegestaan!</p>";
            echo "<p class=\"Free_Form\" align=\"left\"><br><b>GA TERUG</b>, en kies een ander bestand als bijlage !</p>";
            echo "<p class=\"Free_Form\" align=\"left\"><br>Wel toegestaan zijn de extensies:<i> jpg, gif, png, pdf, doc, pages, zip. </i></p>";
            echo "<p class=\"Free_Form\" align=\"left\"><br>Je kunt ook een mailtje sturen naar de webmaster om te overleggen.</p>";
            echo "<p class=\"Free_Form\" align=\"left\"><br>De verwerking van je mail stopt nu. GA TERUG, en kies een ander bestand als bijlage !<br></p>";
          }
else  {  
               if ($_FILES["bijlage"]["size"] > $max) {
               echo "<p class=\"Free_Form\" align=\"left\"><br><u><b>Maar....wat blijkt:</b></u>";    
              echo "<p class=\"Free_Form\" align=\"left\">De bijlage\"$bijlage_naam\" kan niet worden geupload omdat het bestand te groot is !</p>";
              echo "<p class=\"Free_Form\" align=\"left\">Je bestand is groter dan $max_in_MB MB. Dit is meer dan dit script toestaat. </p>";
               echo "<p class=\"Free_Form\" align=\"left\">De verwerking van je mail stopt nu.<br></p>";  
               echo "<p class=\"Free_Form\" align=\"left\"><b>GA TERUG</b>, en kies een bestand kleiner als $max_in_MB MB in de  bijlage !<br></p>";  
         }
else  {  
                        // echo "test, controle regels om te kijken of doorgang OK is ";
                         //Door naar volgende fase van je script
                        //volgende_fase_van_je_script();    

                     }  
              }
        }
    }
}



//////////////////// EINDE controleer de bijlage, wat voor soort bestand is het ? ////////////////////
?>
Wim E
Wim E
20 jaar geleden
 
0 +1 -0 -1
Notice: Array to string conversion in C:\Documents and Settings\CC3\Bureaublad\Site\UsbWebserver\Root\Nieuwssysteem\menu_admin.php on line 65
Het bestand "test.php" is met succes geupload!

Hoe kan ik dit oplossen?

Btw. hij upload helemaal niets bij mij!
Maarten
Maarten
20 jaar geleden
 
0 +1 -0 -1
:P Jah, had ik ook.
Ik zoek wel effe verder.
Verder is dit Script perfect :)
(En de download URL doet het niet meer,
als iemand nog de Download heeft, geef effe:))
Dimitri kujer
dimitri kujer
19 jaar geleden
 
0 +1 -0 -1
script werkt helemaal maar er komt niks in de uploadmap te staan ... krijg wel te zien dat het uploaden een succes is maar als ik ga kijken heeft hij niks geupload ...
Arne
arne
19 jaar geleden
 
0 +1 -0 -1
Mensen is het uberhoubt wel veilig een map aan te maken op de ftp met chmod 777?

Volgens mij is dit best risicovol met worms en andere rare fratsen...

Kan dit niet beter beveiligd worden?
Wijnand H
Wijnand H
17 jaar geleden
 
0 +1 -0 -1
tis misschien niet het nieuwste script meer, maar ik kom er niet helemaal uit, ik krijg namelijk wel dat het bestand succesvol geĆ¼pload is, maar als ik dan in mijn folder kijk staat er niets:
( voor de destination folder moet hij eerst 2 mappen terug, heb ik dat zo goed gedaan?)
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
66
67
68
69
70
71
72
<?PHP  

// In welke map komen de bestanden ? ( zorg dat deze de permissies 777 krijgt )
$map = '../../userfiles/File/pdf/';

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

// Welke extensies kunnen er worden geupload ( als alles mag dan niks invullen )
$ext = 'jpg JPG gif GIF png PNG exe EXE php PHP zip ZIP htm HTM html HTML';  

// 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!');  
            }  
        }
    }
}
  


// Upload formulier

print ('<form method=post action=' . $_SERVER['PHP_SELF'] . ' enctype=multipart/form-data>
Bestand: <input type=\'file\' name=\'bestand\'><br><br>
<input type=\'submit\' name=\'Uploaden\' value=\'Uploaden\'></form>'
);

?>


Hoop dat iemand wat weet ^^
Niels K
Niels K
17 jaar geleden
 
0 +1 -0 -1
Even aan fouten afhandeling doen ;) Maar je kan hier beter een nieuw topic voor maken.

Het is een verouderd script je zou evt ook naar deze tutorial kunnen kijken.

Gr
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
John Schellingerhout
John Schellingerhout
16 jaar geleden
 
0 +1 -0 -1
Dit werkte bij mij (ik stuur het naar een extern bestand) alleen met $_FILES['bestand']['tmp_name']

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. upload-een-bestand

Labels

  • Geen tags toegevoegd.

Navigatie

 
 

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.