複数ファイルのアップロード

複数のファイルを一度にアップロードし、自動的にまとめられた情報を 配列で取得することが可能です。これを行うには、HTMLフォームで複数選 択可能なセレクトやチェックボックスを指定する際と同様に配列を用いた 投稿用の構文を使用する必要があります。

注意 複数ファイルのアップロード機能は 3.0.10以降サポートされました。

例 19-3複数ファイルのアップロード

<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>

上記のフォームを投稿した際、($HTTP_POST_FILES (PHP3では $HTTP_POST_VARS)の中にあるのと同様に)配列 $userfile, $userfile_name, $userfile_size が グローバル変数として作成されます。これらの各々は、投稿されたファイ ルに関する適当な値を有する数値を添字とする配列となります。

例えば、ファイル名が /home/test/review.html および /home/test/xwp.out として投稿されたとしましょう。 この場合、$userfile_name[0] は 値 review.htmlを有し、 $userfile_name[1] は 値 xwp.out を有することになります。 同様に、$userfile_size[0] は、 review.html のファイルサイズ、といったように なります。

$userfile['name'][0], $userfile['tmp_name'][0], $userfile['size'][0], $userfile['type'][0]も設定されます。