Manual do PHP
Anterior | Capítulo 18. Gerenciar o upload de arquivos | Próxima

# Carregando múltiplos arquivos

Múltiplos arquivos podem ser carregados usando-se diferentes `name` para `input`.

Também é possível carregar vários arquivos simultaneamente e ter a informação organizada automaticamente para você em arrays. Para fazer assim, você precisa usar a mesma sintaxe no formulário HTML que você usa para múltiplos selects e checkboxes:

> Nota: O Suporte para carregar múltiplos arquivos foi adicionado na versão 3.0.10.

Exemplo 18-3. Carregando múltiplos arquivos

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

Quando o formulário acima é submetido, as matrizes `$_FILES['userfile']`, `$_FILES['userfile']['name']`, e `$_FILES['userfile']['size']` serão inicializadas (assim como $HTTP_POST_FILES para versões do PHP anterior a 4.1.0). Quando `register_globals` esta em on, globals para os arquivos carregados também são inicializadas. Cada um destes será uma array indexada numericamente dos valores apropriados para os arquivos submetidos.

Por exemplo, assuma que os nomes de arquivos tenham sido submetidos `/home/test/review.html` e `/home/test/xwp.out`. Neste caso, `$_FILES['userfile']['name'][0]` deve conter o valor `review.html`, e `$_FILES['userfile']['name'][1]` deve conter o valor `xwp.out`. Similarmente, `$_FILES['userfile']['size'][0]` deve conter o tamanho de `review.html`, e assim por diante.

`$_FILES['userfile']['name'][0]`, `$_FILES['userfile']['tmp_name'][0]`, `$_FILES['userfile']['size'][0]`, e `$_FILES['userfile']['type'][0]` também são definidas.

Anterior | Principal | Próxima
Problemas comuns | Acima | Suporte ao método PUT