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

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

Linda Hamilton
Linda HamiltonOriginal
2024-10-26 19:34:031007Durchsuche

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/>

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]);                
}

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

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'];
    }
}

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!

Stellungnahme:
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