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