Upload functie

Door Marien xD, 18 jaar geleden, 7.027x bekeken

Met deze functie is het uploaden erg eenvoudig. Ik heb het zo kort mogelijk en zo universeel mogelijk gehouden. Als er opmerkingen zijn dan hoor ik het graag.

Hij accepteert het volgende:
- een file array van het uploaden, dus: $_FILES['naamvanveld']
- de map waar het bestand moet komen

Hij geeft terug:
- een statuscode
- de bestandsnaam

Voorbeeld gebruik:

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
<?
if($_SERVER['REQUEST_METHOD'] == 'POST')
{

    $map = '../ergens/op/je/site/';
    $upload = uploadimage($_FILES['userfile'],$map);
    
    /*
    Je kan nog extra dingen doen zoals:
    if($upload['status'] == 2)
    {
        echo 'Ja dit is extra';
    }
    */

    
    switch ($upload['status'])
    {
        case
1: echo 'The filename was already in use'; break;
        case
2: echo 'The upload was succesfull';    break;
        case
3: echo 'The upload failed because an unknown reason'; break;
        case
4: echo 'There was no file to upload'; break;
        default:
echo 'Something went wrong, please contact the admin'; break;
    }
}

echo '
<form method="post" action="'
. $_SERVER['PHP_SELF'] .'" enctype="multipart/form-data">
    Picture:<br />
    <input type="file" name="userfile" /><br /><br />
    <input type="submit" name="submit" value="Upload the image!" />
</form>'
;
?>

Gesponsorde koppelingen

PHP script bestanden

  1. upload-functie

 

Er zijn 20 reacties op 'Upload functie'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
K i p
K i p
18 jaar geleden
 
0 +1 -0 -1
mooi en simpel:-)
Alfred -
Alfred -
18 jaar geleden
 
0 +1 -0 -1
Quote:
if($_POST['submit'])


=> if ($_SERVER['REQUEST_METHOD'] == 'POST')

Verder, mooi
Marien xD
Marien xD
18 jaar geleden
 
0 +1 -0 -1
Het is bijgewerkt!
Ruud
ruud
18 jaar geleden
 
0 +1 -0 -1
ik heb het bovenste script gepakt (het voorbeeld) en daar alleen de $map verandert. Ik heb het opgeslagen en daarna op mijn server gezet, maar als ik dan een plaatje upload, dan krijg ik de volgende melding:

Fatal error: Call to undefined function: uploadimage() in /home/numenorean/www/testupload1.php on line 12

Weet iemand wat ik fout doe?
Oid T
Oid T
18 jaar geleden
 
0 +1 -0 -1
Ja je moet namelijk ook de functie mee pakken het tweede gedeelte code
Ruud
ruud
18 jaar geleden
 
0 +1 -0 -1
o wacht, ik denk dat ik het snap, ik moet het 2de script er ook in zette?
Ruud
ruud
18 jaar geleden
 
0 +1 -0 -1
het werkt nou, toch bedankt!
Wouter
Wouter
18 jaar geleden
 
0 +1 -0 -1
The upload failed because an unknown reason, deze foutmelding krijg ik

iemand enig idee?? ben niet zo bekend met php maar moet ik miss een database maken hiervoor??
Robbert van Beek
Robbert van Beek
18 jaar geleden
 
0 +1 -0 -1
Bij een bestand groter dan 2mb zegt hij dat er geen bestand is ingevoerd... is er een manier om dit werkend te krijgen?
Marien xD
Marien xD
18 jaar geleden
 
0 +1 -0 -1
Op de server in je php configuratie het maximum filesize aanpassen. Anders lukt het niet, of het moet via ftp gaan ofzo.
Jos
Jos
18 jaar geleden
 
0 +1 -0 -1
Marien (en de rest)
Ik ben een beginner. Ik kan de code lezen, maar heb nog te weinig verstand van configuraties. Ik wil foto's uploaden naar mijn site via de ftp van mijn provider. Ik krijg echter de volgende foutmelding (over and over again):

Warning: move_uploaded_file(ftp://ftp.veiliggeit.nl/): failed to open stream: FTP server reports 530 Login incorrect. in C:\xampp\htdocs\upload.php on line 61

Warning: move_uploaded_file(): Unable to move 'C:\DOCUME~1\JOS&JA~1\LOCALS~1\Temp\phpF.tmp' to 'ftp://ftp.veiliggeit.nl/' in C:\xampp\htdocs\upload.php on line 61
The upload failed because an unknown reason

Ik heb een stukje login script voor ftp in het script van Marien opgenomen:

// contact maken met ftp server
$server = 'ftp://ftp.mijn_site.nl'; // het adres van je ftp server
$connection = ftp_connect ($server); // connect naar de ftp server

// inloggen op de ftp server
$user = "mijn_user";
$pass = "mijn_pass";
$result = ftp_login ($connection, $user, $pass);

Wat doe ik verkeerd??

Groeten,

Jos.
Marien xD
Marien xD
18 jaar geleden
 
0 +1 -0 -1
Ook dat gaat niet werken... Het ligt eraan hoe je bestanden naar een server krijgt. Wat je daarna doet maakt niet uit. Maar het uploadveld kan maar max zoveel mb aan. Dus ook al gebruik je daarna ftp, dat maakt niet uit. Je blijft aan je beperking van het formulierveld...
Herman Buurlage
Herman Buurlage
18 jaar geleden
 
0 +1 -0 -1
Ik heb een vraag, ik heb een extern formulier met wat andere gegevens die ook mee moeten naar het php script maar dit lukt me niet, ik kan wel alles appart maar wanneer er enctype="multipart/form-data in het form tag staat verstuurd hij niet meer omdat de waardes van de andere velden niet kloppen.
(ik neem aan dat dit de een bestand moet zijn)
Eddy
Eddy
18 jaar geleden
 
0 +1 -0 -1
Ik weet namelijk niet waar ik de tweede code moet plaatsen.
Kan iemand mij helpen?
Eddy
Eddy
18 jaar geleden
 
0 +1 -0 -1
Ik heb nog een probleem. Ik wil graag de gebruiker de link van de geuploade afbeelding laten weten. Kan iemand de code meedelen aub?
Marien xD
Marien xD
18 jaar geleden
 
0 +1 -0 -1
Dit is geheel variabel waar jij je bestanden neerzet. Iedere mapstructuur van iedere webserver/website is anders. Dus je zal het zelf uit moeten vogelen, ik kan je wel een voorbeeld geven:

stel je script staan in je hoofd upload map welke te bereiken is van www.domein.nl en je zet de bestanden in de map upload/ (dus er staat in de variabele $map = 'upload/' dan word het www.domein.nl/upload/ wat de filename is word gewoon uit de functie meegegeven: $upload['filename']

Je zou dus eigenlijk na de upload gewoon dit kunnen weergeven:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?php

echo '
<a href="'
. $map . $upload['filename'] .'">Klik hier om het bestand te bekijken</a>';

?>


Ik denk dat je dit ook wel zelf had kunnen verzinnen.
Ikaryas
Ikaryas
18 jaar geleden
 
0 +1 -0 -1
maar hoe moet je het doen als je automatisch een pagina wilt laten updaten met geuploaden images?
vb:
een site waar je bv avatars kunt uploaden en bekijken (dus niet gelijk maar op willekeurig tijdstip), en niet enkel de jouwe maar ook die van anderen

??
Marien xD
Marien xD
18 jaar geleden
 
0 +1 -0 -1
Dat moet je doen met een ander script, zoek maar hier in de search naar dir
Bob
Bob
17 jaar geleden
 
0 +1 -0 -1
Bedankt, zo iets zocht ik :P
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Arno gaatjeniksaan
arno gaatjeniksaan
16 jaar geleden
 
0 +1 -0 -1
kijk zo mag ik het horen netjes gemaakt, maar je kunt er alle bestanden me uploaden dus je kunt beter er niet neerzetten picture:

dit noemen ze nou beginner niet te geloven;) ik zie hier op phphulp.nl wel wat gevorderen die er niet eens een hol van snappen en die word gevorderd genoemd:S!

bedankt man ziet er goed uit lekker compact en werkend

PS(dat met die case vind ik ook wel handig ik doe het altijd anders magoed smaken verschillen;))

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

Inhoudsopgave

  1. upload-functie

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.