首頁 >後端開發 >php教程 >PHP檔案上傳-多檔案上傳的範例程式碼詳解

PHP檔案上傳-多檔案上傳的範例程式碼詳解

黄舟
黄舟原創
2017-04-18 11:34:316357瀏覽

PHP檔案上傳—多檔案上傳的範例程式碼詳解

#PHP 支援同時上傳多個檔案並將他們的資訊自動以陣列的形式命名,想要實現這樣的功能其實很簡單,只需要在HTML 表單中的對文件上傳域使用和多選框與複選框的數組式提交語法。

那麼在上一篇《PHP檔案上傳-move_uploaded_file()函數》中介紹了上傳檔案的函數,只是介紹了該函數的使用,以及單一檔案上傳,本章將介紹多文件上傳實作的方法!

在先前的文章《PHP綜合運用數組函數-實現多文件上傳》中也有所介紹了,在PHP中,當瀏覽器客戶端提交過來的表單請求中包含上傳的檔案時,PHP 會將上傳的檔案先暫時存放臨時目錄中,然後將上傳檔案的資訊存放在全域變數$_FLIES中, 所以我們只需要透過$_FILES陣列來取得上傳檔案的信息,然後對其進行相對應的處理操作就可以了!

下面的實例有4個檔案上傳域,檔案域的名字是u_file[],提交後上傳的檔案資料都會被儲存到$_FILES['u_file']中,產生多為數組,讀取數組信息,並且上傳文件,具體實例代碼如下:

<html>
<body>
    <!--上传文件表单-->
    <form method="post" action="" enctype="multipart/form-data">
        <table id="up_table" border="1" bgcolor="f0f0f0">
            <tbody id="auto">
            <tr id="auto">
                <td>上传文件</td>
        <td><input type="file" name="u_file[]"></td>
                </tr>
            <tr>
                <td>上传文件</td>
                <td><input name="u_file[]" type="file"></td>
            </tr>
            <tr>
                <td colspan="4">
                    <input type="submit" value="上传" >
                </td>
            </tr>
            </tbody>
            </table>
        </form>
</body>
</html>
<?php
header("Content-Type:text/html; charset=utf-8");
if(!empty($_FILES[&#39;u_file&#39;][&#39;name&#39;])){       //判断变量$_FILES是否为空
     $file_name = $_FILES[&#39;u_file&#39;][&#39;name&#39;];      //将上传文件名另存为数组
    $file_tmp_name = $_FILES[&#39;u_file&#39;][&#39;name&#39;];  //将上传文件的临时文件名存为数组
    for($i=0;$i<count($file_name);$i++){         //循环上传文件
        if($file_name[$i]!=""){                  //判断上传文件名是否为空
            move_uploaded_file($file_tmp_name[$i],$i.$file_name[$i]);
            echo "文件".$file_name[$i]."上传成功,更名为".$i.$file_name[$i]."<br>";
        }
    }
}
?>

#輸出結果如下:

PHP檔案上傳-多檔案上傳的範例程式碼詳解

總結:

關於檔案系統,我們首先介紹了對檔案的基本操作,然後學習了目錄的基本操作,接著我們學習了檔案的高階處理技術,最後學習了PHP 的檔案上傳技術。文件系統是開發了一個網站不可或缺的組成部分,希望大家能理解文件系統的重點知識點,掌握常用函數。下一專題我們不見不散!

以上是PHP檔案上傳-多檔案上傳的範例程式碼詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn