入力フィールドに異なる名前を使用して、複数のファイルをアップロードできます。
PHP は複数のファイルの同時アップロードをサポートし、それらの情報を配列の形式で自動的に整理します。この機能を実現するには、HTML フォームのファイル アップロード フィールドに対して、チェックボックスやチェックボックスと同じ配列送信構文を使用する必要があります。
注:
複数のファイルのアップロードのサポートは、PHP バージョン 3.0.10 で追加されました。
例 #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] を設定します。