上傳多個檔案

可以對 input 功能變數使用不同的 name 來上傳多個檔案。

PHP 支援同時上傳多個檔案並將它們的訊息自動以陣列的形式組織。要完成這項功能,需要在 HTML 表單中對檔案上傳功能變數使用和多選框與復選框相同的陣列式送出語法。

注: 對多檔案上傳的支援是在 PHP 3.0.10 版本增加的。

 

例子 38-4. 上傳多個檔案

<form action="file-upload.php" method="post" enctype="multipart/form-data">
  Send these files:<br />
  <input name="userfile[]" type="file" /><br />
  <input name="userfile[]" type="file" /><br />
  <input type="submit" value="Send files" />
</form>

當以上表單被送出後,陣列 $_FILES['userfile']$_FILES['userfile']['name']$_FILES['userfile']['size'] 將被起始化(在 PHP 4.1.0 以前版本是 $HTTP_POST_FILES)。若果 register_globals 的設定為 on,則和檔案上傳關聯的全局變量也將被起始化。所有這些送出的訊息都將被儲存到以數字為索引的陣列中。

例如,假設名為 /home/test/review.html/home/test/xwp.out 的檔案被送出,則 $_FILES['userfile']['name'][0] 的值將是 review.html,而 $_FILES['userfile']['name'][1] 的值將是 xwp.out。類似的,$_FILES['userfile']['size'][0] 將包括檔案 review.html 的大小,依此類推。

此外也同時設定了 $_FILES['userfile']['name'][0]$_FILES['userfile']['tmp_name'][0]$_FILES['userfile']['size'][0] 以及 $_FILES['userfile']['type'][0]。   

Felix 發表在 痞客邦 PIXNET 留言(0) 人氣()