PHP Tutorials, PHP lernen, PHP Forum, PHP Community and more ... MyWebsolution.de!

Sidebar

Home News Tutorials Workshops Tipps Artikel Gästebuch Sitemap Pascal Landau

Suche

Members

Forum Login Registrierung

Statistik

Statistikbereich
Jetzt4
Heute256
Gestern391
Gesamt2386071

PHP Dateiupload - Uploadskript für mehrere Dateien

Autor Flitze
Klicks 196553
Rating für PHP Dateiupload
  8.4 von 10
Bewertungen50
Stand 12.06.2013
Keywords:
Dateiupload in PHP, Dateien über ein Formular hochladen, Dateien ohne FTP-Programm hochladen, Uploadprüfung, PHP Upload Script, Uploadskript viele Dateien

Amazon: PHP 5.3 und MySQL 5.1
Breadcrumb:
Tutorials » PHP Dateiupload » PHP Dateiupload - Uploadskript für mehrere Dateien
Seite : 1 2 3 4 5 6 7 8 9 10 11 12 13 Bewerten
Article Wizard - deutscher Article Spinner

Step 11 – Ein vollständiges Uploadskript für mehrere Dateien

[ADSENSE_LINE]
Die Konfiguration und die Funktionsdefinitionen könnt ihr aus dem Quellcode für den Einzelupload (Step 8 ) übernehmen. Ich habe lediglich die Variable $anzahl_dateifelder, die die Anzahl der Felder für den Dateiupload bestimmt, ergänzt.

PHP:
<?php
    
// ... Konfiguration etc.
    // ... 

    // $anzahl_dateifelder = 5;

    // Beginn des Skriptes
    // -----------------------------------------------

    
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \n".
         
"\"http://www.w3.org/TR/html4/strict.dtd\">\n";
    echo 
"<html>\n";
    echo 
"<head>\n";
    echo 
" <title>multipler Datei-Upload</title>\n";
    echo 
"</head>\n";
    echo 
"<body>\n";

    
// Falls der Benutzer auf "Upload" gedrückt hat,
    // werden die Dateien überprüft
    
if(isset($_POST['submit']) AND $_POST['submit']=='Upload'){

        
// jede Datei einzeln testen
        
for($i=0$i<$anzahl_dateifelder$i++){
            
$myFILE['name'] = $_FILES['Datei']['name'][$i];
            
$myFILE['type'] = $_FILES['Datei']['type'][$i];
            
$myFILE['tmp_name'] = $_FILES['Datei']['tmp_name'][$i];
            
$myFILE['error'] = $_FILES['Datei']['error'][$i];
            
$myFILE['size'] = $_FILES['Datei']['size'][$i];

            
// Fehlerarray erzeugen
            
$errors = array();

            
$errors checkUpload($myFILE$file_extensions$mime_types$maxsize);
            if(
count($errors)){
                echo 
"<p>\n".
                     
"Die ".($i+1).". Datei (".$myFILE['name'].") konnte nicht gespeichert werden.<br />\n";
                foreach(
$errors as $error)
                    echo 
$error."<br />\n";
                echo 
"</p>\n";
            }
            else {
                do {
                    
$neuer_name renameFile($myFILE['name']);
                } while(
file_exists($ordner.$neuer_name));
                if(@
move_uploaded_file($myFILE['tmp_name'], $ordner.$neuer_name)){
                     echo 
"<p>\n".
                          
"Die ".($i+1).". Datei (".$myFILE['name'].") wurde erfolgreich gespeichert.<br />\n".
                          
"</p>\n";
                }
                else{
                     echo 
"<p>\n".
                          
"Die Die ".($i+1).". Datei (".$myFILE['name'].") konnte nicht gespeichert werden.<br />\n".
                          
"Es ist ein Upload-Fehler aufgetreten.<br />\n".
                          
"Bitte versuchen Sie es später erneut.<br />\n".
                          
"<br />\n".
                          
"Sollte der Upload noch immer nicht funktionieren, informieren Sie uns bitte per Email.<br />\n".
                          
"<a href=\"".$_SERVER['PHP_SELF']."\">Zurück zum Upload-Formular</a>\n".
                          
"</p>\n";
                }
            }
        }
        echo 
"<p>\n".
             
"<a href=\"".$_SERVER['PHP_SELF']."\">Zurück zum Upload-Formular</a>\n".
             
"</p>\n";
    }
    
// Beim ersten Aufruf des Skriptes wird das
    // Upload-Formular angezeigt
    
else{
        echo 
"<h1>Laden Sie mehrere Bilder hoch!</h1>\n";
        echo 
"<h2>Erlaubte Dateiendungen sind:</h2>\n";
        foreach(
$file_extensions as $extension)
            echo 
" - ".$extension."\n<br />";
        echo 
"<h2>Erlaubte Dateigröße:</h2>\n";
        echo 
" - maximal ".($maxsize/(1024*1024))." MB\n<br />";
        echo 
" <form ".
             
"action=\"".$_SERVER['PHP_SELF']."\" ".
             
"method=\"post\" ".
             
"enctype=\"multipart/form-data\">\n";
        echo 
"  <input type=\"hidden\" name=\"MAX_FILE_SIZE\" value=\"".$maxsize."\" />\n";
        for(
$i=0$i<$anzahl_dateifelder$i++){
            echo 
"  <label for=\"Datei\">".($i+1).". Datei auswählen</label>\n";
            echo 
"  <input type=\"file\" name=\"Datei[".$i."]\" id=\"Datei[".$i."]\" />\n";
            echo 
"  <br />\n";
        }
        echo 
"  <input type=\"submit\" name=\"submit\" value=\"Upload\" />\n";
        echo 
" </form>\n";
    }

    echo 
"</body>\n";
    echo 
"</html>\n";
?>


Zur besseren Orientierung habe ich die Nummer des Uploads und den Dateinamen im Fehler- bzw. Erfolgsfall bei jeder Datei erwähnt:

PHP:
<?php
    
echo "<p>\n".
         
"Die ".($i+1).". Datei (".$myFILE['name'].") konnte nicht gespeichert werden.<br />\n";
?>


Außerdem wurde der Link zurück zum Formular

PHP:
<?php
    
echo "<p>\n".
         
"<a href=\"".$_SERVER['PHP_SELF']."\">Zurück zum Upload-Formular</a>\n".
         
"</p>\n";
?>


hinter die for-Schleife gesetzt, denn schließlich reicht ein Link aus.

Zurück zur vorigen Seite:
PHP Dateiupload - ungünstige $_FILES-Struktur
Weiter zur nächsten Seite:
PHP Dateiupload - Anmerkungen

»» Zurück zum Menu

Suchmaschinenoptimierung

Suchmaschinenoptimierung (SEO - Search Engine Optimization)

Ranking

Tutorials (13)

8.6
8.4
8

Workshops (3)

8.8
8.7
7.6

Tipps (12)

7.2
6.7
6.5

Artikel (32)

8.4
8
7.2

RSS Feeds

Full Feed Tutorials Workshops Tipps Artikel

Twitter

Follow me on Twitter

Partner & Links


Valid HTML 4.01 Transitional
Valid CSS
nach oben

Diese Seiten unterstützen MyWebsolution:
 
© MyWebsolution.de
2006-2024