可以對 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']['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]。