PHP 手冊
前一頁 | 章 38. Handling file uploads | 下一頁

# Uploading multiple files

Multiple files can be uploaded using different name for input.

It is also possible to upload multiple files simultaneously and have the information organized automatically in arrays for you. To do so, you need to use the same array submission syntax in the HTML form as you do with multiple selects and checkboxes:

> 注: Support for multiple file uploads was added in PHP 3.0.10.

範例 38-3. Uploading multiple files

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

When the above form is submitted, the arrays $_FILES['userfile'], $_FILES['userfile']['name'], and $_FILES['userfile']['size'] will be initialized (as well as in $HTTP_POST_FILES for PHP versions prior to 4.1.0). When register_globals is on, globals for uploaded files are also initialized. Each of these will be a numerically indexed array of the appropriate values for the submitted files.

For instance, assume that the filenames `/home/test/review.html` and `/home/test/xwp.out` are submitted. In this case, $_FILES['userfile']['name'][0] would contain the value `review.html`, and $_FILES['userfile']['name'][1] would contain the value `xwp.out`. Similarly, $_FILES['userfile']['size'][0] would contain `review.html`'s file size, and so forth.

$_FILES['userfile']['name'][0], $_FILES['userfile']['tmp_name'][0], $_FILES['userfile']['size'][0], and $_FILES['userfile']['type'][0] are also set.

前一頁 | 內容 | 下一頁
Common Pitfalls | 上一層 | PUT method support