Heim > Backend-Entwicklung > PHP-Tutorial > So implementieren Sie mehrere Datei-Uploads in PHP

So implementieren Sie mehrere Datei-Uploads in PHP

伊谢尔伦
Freigeben: 2023-03-11 10:48:01
Original
1682 Leute haben es durchsucht

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>
Nach dem Login kopieren

Verwenden Sie $_FILES, um in upload.php auszudrucken und einen Blick darauf zu werfen

<?php  
  print_r($_FILES); 
?>
Nach dem Login kopieren

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
                )
        )
)
Nach dem Login kopieren

Ü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 Arrays
Array
(
    [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
        )
)
Nach dem Login kopieren

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[&#39;file&#39;]);
    $arr=$_FILES[&#39;file&#39;];
    $files=array();
    for($i=0;$i<count($arr[&#39;name&#39;]);$i++){
        $files[$i][&#39;name&#39;]=$arr[&#39;name&#39;][$i];
        $files[$i][&#39;type&#39;]=$arr[&#39;type&#39;][$i];
        $files[$i][&#39;tmp_name&#39;]=$arr[&#39;tmp_name&#39;][$i];
        $files[$i][&#39;error&#39;]=$arr[&#39;error&#39;][$i];
        $files[$i][&#39;size&#39;]=$arr[&#39;size&#39;][$i];
    }
    print_r($files);
?>
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage