PHP 매뉴얼
이전 | 18. 장. 파일 업로드 다루기 | 다음

# 복수 파일 전송하기

복수 파일은 `input`에서 다른 `name`을 사용해서 업로드 할 수 있습니다.

동시에 복수 파일을 업로드하고 배열로 조직화한 정보를 얻을 수 있습니다. 이를 위해서는, HTML 폼에 복수 선택이나 체크박스와 동일한 방식으로 동일한 이름의 배열형 구문을 갖추면 됩니다:

> 참고: 복수 파일 업로드 지원은 PHP 3.0.10에서 추가되었습니다.

예 18-3. 복수 파일 전송하기

    <form action="file-upload.php" method="post" enctype="multipart/form-data">
      이 파일들을 전송합니다:<br />
      <input name="userfile[]" type="file" /><br />
      <input name="userfile[]" type="file" /><br />
      <input type="submit" value="파일 전송" />
    </form>

위 폼을 전송하면, 배열 `$_FILES['userfile']`, `$_FILES['userfile']['name']`, `$_FILES['userfile']['size']`가 초기화됩니다. (버전 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]`이 설정됩니다.

이전 | 처음으로 | 다음
일반적인 문제 | 위로 | PUT 방식 지원