Heim > Artikel > Backend-Entwicklung > So implementieren Sie mehrere Datei-Uploads in PHP
Tatsächlich ähneln mehrere Datei-Uploads den einzelnen Datei-Uploads, und die Prinzipien sind dieselben Erstens handelt es sich immer noch um das Upload-Formular „index.html“, aber um die Datei im vorherigen Das Datei-Upload-Formular wird in Datei[ ] geändert
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> <head> <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>upload files</title> </head> <body> <form action="upload.php" enctype="multipart/form-data" method="post"> <input type="hidden" name="MAX_FILE_SIZE" value="100000" /> 上传文件:<input type="file" name="file[]"/><br/> 上传文件:<input type="file" name="file[]"/><br/> 上传文件:<input type="file" name="file[]"/><br/> <input type="submit" value="上传" /> </form> </body> </html>
Verwenden Sie $_FILES, um in upload.php auszudrucken und einen Blick darauf zu werfen
<?php print_r($_FILES); ?>
Das Folgende wird erhalten Mehrdimensionales Array
Array ( [file] => Array ( [name] => Array ( [0] => 照片1.jpg [1] => 照片2.jpg [2] => 照片3.jpg ) [type] => Array ( [0] => image/jpeg [1] => image/jpeg [2] => image/jpeg ) [tmp_name] => Array ( [0] => F:\wamp\tmp\php36C7.tmp [1] => F:\wamp\tmp\php36C8.tmp [2] => F:\wamp\tmp\php36C9.tmp ) [error] => Array ( [0] => 0 [1] => 0 [2] => 0 ) [size] => Array ( [0] => 0 [1] => 0 [2] => 0 ) ) )
Überlegen Sie nach dem Prinzip des Hochladens einer einzelnen Datei zunächst, was wir benötigen?
Natürlich benötigen wir ein Array mit Dateiinformationen. Das Array enthält Name, Typ, tmp_name, Fehler und Größe. Zu diesem Zeitpunkt erhalten wir ein mehrdimensionales Array existieren, Es ist mehrdimensional. Für die drei oben genannten Dateien müssen wir es beispielsweise nur in die entsprechenden drei Dateiinformationsarrays aufteilen.
Die Struktur des geteilten Arrays
Das Folgende ist der Code zum Teilen und Neuorganisieren des ArraysArray ( [0] => Array ( [name] => 照片1.jpg [type] => image/jpeg [tmp_name] => F:\wamp\tmp\php13C1.tmp [error] => 0 [size] => 385150 ) [1] => Array ( [name] => 照片2.jpg [type] => image/jpeg [tmp_name] => F:\wamp\tmp\php13D2.tmp [error] => 0 [size] => 242043 ) [2] => Array ( [name] => 照片3.jpg [type] => image/jpeg [tmp_name] => F:\wamp\tmp\php13D3.tmp [error] => 0 [size] => 488293 ) )Der Rest ist einfach, wiederholen Sie die Schritte von Laden Sie eine einzelne Datei hoch. Durchlaufen und verarbeiten Sie das Array einfach einmal.
<?php //print_r($_FILES['file']); $arr=$_FILES['file']; $files=array(); for($i=0;$i<count($arr['name']);$i++){ $files[$i]['name']=$arr['name'][$i]; $files[$i]['type']=$arr['type'][$i]; $files[$i]['tmp_name']=$arr['tmp_name'][$i]; $files[$i]['error']=$arr['error'][$i]; $files[$i]['size']=$arr['size'][$i]; } print_r($files); ?>
Der Code lautet wie folgt:
Das obige ist der detaillierte Inhalt vonSo implementieren Sie mehrere Datei-Uploads in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!