可以對 input 域使用不同的 name 來上傳多個檔案。
PHP 支援同時上傳多個檔案並將它們的資訊自動以數組的形式組織。要完成這項功能,需要在 HTML 表單中對檔案上傳域使用和多選框與複選框相同的數組式提交文法。
Note:
對多檔案上傳的支援是在 PHP 3.0.10 版本添加的。
Example #1 上傳多個檔案
<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]。