PHP檔案上傳—多檔案上傳的範(fàn)例程式碼詳解
#PHP 支援同時(shí)上傳多個(gè)檔案並將他們的資訊自動以陣列的形式命名,想要實(shí)現(xiàn)這樣的功能其實(shí)很簡單,只需要在HTML 表單中的對文件上傳域使用和多選框與複選框的數(shù)組式提交語法。
那麼在上一篇《PHP檔案上傳-move_uploaded_file()函數(shù)》中介紹了上傳檔案的函數(shù),只是介紹了該函數(shù)的使用,以及單一檔案上傳,本章將介紹多文件上傳實(shí)作的方法!
在先前的文章《PHP綜合運(yùn)用數(shù)組函數(shù)-實(shí)現(xiàn)多文件上傳》中也有所介紹了,在PHP中,當(dāng)瀏覽器客戶端提交過來的表單請求中包含上傳的檔案時(shí),PHP 會將上傳的檔案先暫時(shí)存放臨時(shí)目錄中,然後將上傳檔案的資訊存放在全域變數(shù)$_FLIES中, 所以我們只需要透過$_FILES陣列來取得上傳檔案的信息,然後對其進(jìn)行相對應(yīng)的處理操作就可以了!
下面的實(shí)例有4個(gè)檔案上傳域,檔案域的名字是u_file[],提交後上傳的檔案資料都會被儲存到$_FILES['u_file']中,產(chǎn)生多為數(shù)組,讀取數(shù)組信息,並且上傳文件,具體實(shí)例代碼如下:
<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']; //將上傳文件名另存為數(shù)組
$file_tmp_name = $_FILES['u_file']['name']; //將上傳文件的臨時(shí)文件名存為數(shù)組
for($i=0;$i<count($file_name);$i++){ //循環(huán)上傳文件
if($file_name[$i]!=""){ //判斷上傳文件名是否為空
move_uploaded_file($file_tmp_name[$i],$i.$file_name[$i]);
echo "文件".$file_name[$i]."上傳成功,更名為".$i.$file_name[$i]."<br>";
}
}
}
?>
#輸出結(jié)果如下:

總結(jié):
關(guān)於檔案系統(tǒng),我們首先介紹了對檔案的基本操作,然後學(xué)習(xí)了目錄的基本操作,接著我們學(xué)習(xí)了檔案的高階處理技術(shù),最後學(xué)習(xí)了PHP 的檔案上傳技術(shù)。文件系統(tǒng)是開發(fā)了一個(gè)網(wǎng)站不可或缺的組成部分,希望大家能理解文件系統(tǒng)的重點(diǎn)知識點(diǎn),掌握常用函數(shù)。下一專題我們不見不散!
以上是PHP檔案上傳-多檔案上傳的範(fàn)例程式碼詳解的詳細(xì)內(nèi)容。更多資訊請關(guān)注PHP中文網(wǎng)其他相關(guān)文章!