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['u_file']['name'])){ //判断变量$_FILES是否为空 $file_name = $_FILES['u_file']['name']; //将上传文件名另存为数组 $file_tmp_name = $_FILES['u_file']['name']; //将上传文件的临时文件名存为数组 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中文網其他相關文章!