Mehrere Dateien mit formData() hochladen
Bei der Arbeit mit Datei-Uploads in JavaScript und PHP kommt es häufig zu Szenarios, in denen mehrere Dateien benötigt werden gleichzeitig übertragen werden. Eine komfortable Möglichkeit hierfür bietet die FormData-Schnittstelle. Das Standardverhalten, bei dem nur die erste Datei in einem Eingabefeld ausgewählt wird, kann jedoch einschränkend erscheinen.
So laden Sie mehrere ausgewählte Dateien hoch
Um diese Einschränkung zu überwinden, wird JavaScript verwendet Der Code muss alle ausgewählten Dateien durchlaufen und sie an das FormData-Objekt anhängen. Der folgende Code demonstriert dies:
<code class="javascript">var files = document.getElementById('fileToUpload').files; for (var x = 0; x < files.length; x++) { fd.append("fileToUpload[]", files[x]); }
In diesem Code rufen wir alle ausgewählten Dateien aus dem Eingabefeld ab und durchlaufen sie, wobei wir jede Datei mit dem Schlüssel fileToUpload[] an das FormData-Objekt anhängen. Mit dieser Technik können wir mehrere Dateien in einer einzigen Ajax-Anfrage hochladen.
Umgang mit mehreren Dateien in PHP
Auf der Serverseite kann PHP die hochgeladenen Dateien in einer empfangen Array. Um auf einzelne Dateien zuzugreifen, verwenden Sie die Array-Syntax:
<code class="php">$count = count($_FILES['fileToUpload']['name']); for($i = 0; $i < $count; $i++){ echo 'Name: '.$_FILES['fileToUpload']['name'][$i].'<br/>'; }</code>
Dieser Code durchläuft die hochgeladenen Dateien und gibt deren Namen zu Demonstrationszwecken aus. Sie können dieses Array verwenden, um eine weitere Verarbeitung durchzuführen, z. B. das Speichern der Dateien an einem bestimmten Speicherort oder das Durchführen von Validierungen.
Durch Befolgen dieser Schritte wird es möglich, mehrere Dateien gleichzeitig mit formData() hochzuladen und effektiv zu verarbeiten in PHP.
Das obige ist der detaillierte Inhalt vonWie lade ich mit FormData() in JavaScript und PHP mehrere Dateien gleichzeitig hoch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!