Heim > Backend-Entwicklung > PHP-Tutorial > Wie implementiert man mehrere Datei-Uploads in PHP und jQuery?

Wie implementiert man mehrere Datei-Uploads in PHP und jQuery?

Linda Hamilton
Freigeben: 2024-10-26 19:34:03
Original
1100 Leute haben es durchsucht

How to Implement Multiple File Uploads in PHP and jQuery?

Verwaltung mehrerer Datei-Uploads in PHP und jQuery

Im Bereich der Webentwicklung ist die Fähigkeit zum Hochladen mehrerer Dateien häufig für Aufgaben wie Bildergalerien und Dokumente erforderlich Managementsysteme und viele andere. Dieses Tutorial führt Sie durch den Prozess der Aktivierung mehrerer Datei-Uploads mit PHP und jQuery.

HTML- und Formular-Setup

Das HTML-Formular dient als Schnittstelle, über die die Dateien zum Hochladen ausgewählt werden. Hier haben wir ein Eingabefeld vom Typ „Datei“ mit dem Attribut „multiple“, das die Auswahl mehrerer Dateien ermöglicht:

<input id="myfile" type="file" name="myfile" multiple=multiple/>
Nach dem Login kopieren

Wenn auf die Schaltfläche „Hochladen“ geklickt wird, wird die Funktion sendfile() ausgeführt ausgelöst durch den Onclick-Ereignishandler.

jQuery und FormData

Die sendfile()-Funktion verwendet jQuery, um ein FormData-Objekt zu erstellen. Dieses Objekt ermöglicht die Einbeziehung von Formulardaten, einschließlich Dateien, die an das serverseitige Skript gesendet werden. Jede ausgewählte Datei wird an das FormData-Objekt angehängt:

for (var i = 0, len = document.getElementById('myfile').files.length; i < len; i++) {
    fd.append("myfile", document.getElementById('myfile').files[i]);                
}
Nach dem Login kopieren

Serverseitiges PHP-Skript

Auf der Serverseite übernimmt das Skript uploadfile.php die Datei-Uploads:

<code class="php">$target = "uploadfolder/";
// for($i=0; $i <count($_FILES['myfile']['name']); $i++){
    if(move_uploaded_file($_FILES['myfile']['tmp_name'], $target.$_FILES['myfile']['name'])) { 
        echo 'Successfully copied'; 

    }else{       
        echo 'Sorry, could not copy';
    }   
// } 
Nach dem Login kopieren

Dieser Code ist jedoch unvollständig, da ihm die Schleife zum Durchlaufen mehrerer Dateien fehlt. Sie müssten die Schleife wie in der richtigen Antwort gezeigt implementieren.

Beispielaktualisierung (basierend auf der Antwort)

In dem in der Antwort bereitgestellten Beispiel sind der jQuery-Code und die HTML-Struktur ähnlich dem unvollständigen Code oben. Der Hauptunterschied liegt im Skript „load.php“:

Die Schleife wurde für die Verarbeitung mehrerer Dateien implementiert.

<code class="php">foreach ($_FILES as $key) {
    if($key['error'] == UPLOAD_ERR_OK ){
        $name = $key['name'];
        $temp = $key['tmp_name'];
        $size= ($key['size'] / 1000)."Kb";
        move_uploaded_file($temp, $path . $name);
        echo "
            <div>
                <h1>File Name: $name</h1><br />
                <h1>Size: $size</h1><br />
                <hr>
            </div>
            ";
    }else{
        echo $key['error'];
    }
}
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie implementiert man mehrere Datei-Uploads in PHP und jQuery?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage