Heim  >  Artikel  >  Web-Frontend  >  Wie lade ich mit FormData() in JavaScript und PHP mehrere Dateien gleichzeitig hoch?

Wie lade ich mit FormData() in JavaScript und PHP mehrere Dateien gleichzeitig hoch?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-22 21:32:29708Durchsuche

How to Upload Multiple Files Simultaneously with FormData() in JavaScript and PHP?

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!

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