Tutorials

PHP - Einfacher Upload Tutorial

Einloggen
Benutzername:
Passwort:

Passwort vergessen?
Kostenlos
Anmelden
anzeigen
PHP - Einfacher Upload
.

20598 - habbolegend - 03.08.2009 18:08 Uhr - Version: 4 - - verlinken als BB-Code


Hier hab ich mal ein kleines Tutorial für einen Upload.

Als erstes erstellt ihr die upload.php in der sich alles befindet.
Wir fangen mit der Verzeichnisauswahl an:
Erstellt ein Verzeichnis namens uploads und schreibt in die upload.php hinein, wie das verzeichnis heißt:
1
2
<?php
$dir 
'uploads';


Danach kommt das Formular:
1
2
3
4
echo '<form action="" method="post" enctype="multipart/form-data">
  <input name="datei" type="file" />&nbsp;
  <input name="upload" type="submit" value="Hochladen" />
</form>';


Nun kommen wir zur Umbennen Funktion, damit die datei nicht den selben Namen erhält, wie der Uploader sie hochlädt:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
if(isset($_POST['upload']))
{
       // Zufälliger Dateiname:
          $word = md5(time());

       // Ein paar Zeichen vom Zufälligen Dateinamen abziehen
          $word = substr($word, -7);
      
   // Dateifeld definieren
      $datei        = $_FILES['datei']['name'];

   // Dateiformat erfassen
      $info   = pathinfo($datei);
      $format = $info["extension"];
      
   // Der entgültige Dateiname
      $dateiname    = $word.'.'.$format;



Nachdem wir das gemacht haben, müssen wir noch die Uploadfunktion einbauen, das sieht dann wiefolgt aus:
1
2
3
4
5
6
7
8
9
10
11
// Erlaubte Dateitypen
       $allowed_types = "(zip|rar|ZIP|RAR|png|jpg|jpeg|gif)";
       
        if(preg_match("/\." . $allowed_types . "$/i", $_FILES["datei"]["name"])) 
        {
           $dateiupload = move_uploaded_file($_FILES['datei']['tmp_name'], "$dir/$dateiname");
       } else {
          echo 'Ungültiges Dateiformat';
       }
        }
    ?>


Und zum Schluss, für die Faulen alles zusammen:
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
<?php
    $dir 
'uploads';
        echo 
'<form action="" method="post" enctype="multipart/form-data">
      <input name="datei" type="file" />&nbsp;
      <input name="upload" type="submit" value="Hochladen" />
    </form>'
;
    if(isset(
$_POST['upload']))
    {
           
// Zufälliger Dateiname:
              
$word md5(time());

           
// Ein paar Zeichen vom Zufälligen Dateinamen abziehen
              
$word substr($word, -7);
         
       
// Dateifeld definieren
          
$datei        $_FILES['datei']['name'];

       
// Dateiformat erfassen
          
$info   pathinfo($datei);
          
$format $info["extension"];
         
       
// Der entgültige Dateiname
          
$dateiname    $word.'.'.$format;
   
   
// Erlaubte Dateitypen
   
$allowed_types "(zip|rar|ZIP|RAR|png|jpg|jpeg|gif)";
   
    if(
preg_match("/\." $allowed_types "$/i"$_FILES["datei"]["name"])) 
    {
       
$dateiupload move_uploaded_file($_FILES['datei']['tmp_name'], "$dir/$dateiname");
   } else {
      echo 
'Ungültiges Dateiformat';
   }
    }
    
?>


Ich wünsch euch noch viel Spaß damit Smily NR:2

Information:
Das Script ist auf Funktionalität getestet und Funktioniert!

Gebt dem Ordner alle rechte sodass dort auch die Datein gespeichert werden können.


Mitglieder-Kommentare


#7 von zerfleischer
Die Fehlermeldung währe ganz hilfreich.

Denke aber das ihr dem upload Ordner nicht die nötigen rechte gegeben habt.

Solltet im FTP oder Filemanager nen rechtsklick machen und die rechte auf 777 Setzen. Also alle Hacken klicken.


Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben
#6 von chrisboy
ich denke mal da muss irgendetwas vom Server sein sonst kann er es ja nicht hochladen
#5 von cplaygames
chrisboy ich habe das gleiche Problem, kannn jemand helfen? Smily NR:2
#4 von lucas
cool dank dir Smily NR:2
#3 von cplaygames
Cool, Smily NR:2 so was wollte ich auch schon mal ausprobieren, bin aber noch nicht dazu gekommen
#2 von chrisboy
Zitat:
$dateiupload = move_uploaded_file($_FILES['datei']['tmp_name'], "$dir/$dateiname" Smily NR:7 ;

was muss ich da eingeben? bei mir kommt da eine Error meldung
#1 von zerfleischer
Sehr schönes TUT. Leicht zu verstehen.

N1 arbeit. werde es auchmal Testen wenn ich zeit habe ^^

Die Gymnasiasten sind so blöd.... die rechnen mit Buchstaben

« 1 2 3 4 »

Nur registrierte Mitglieder könnten einen Kommentar schreiben.

Melde dich doch ganz einfach an, es ist kostenlos. :-)