Mensagem: Upload de pasta - Igual mega.co.nz

Upload de pasta - Igual mega.co.nz

  • 15 de Setembro de 2014

    Marcos

    Existe a possibilidade de enviar uma pasta com vários arquivos através de um formulário com os endereços de cada foto separada no banco de dados.

    Quem já se cadastrou no mega vai entender do que estou falando. Lá se pode enviar arquivos e também uma pasta inteira.
    Nas categorias:
    Faça login para comentar
    • 16 de Setembro de 2014

      Eduardo Kraus

      Claro que há. Porém só o Chrome possui suporte.

      Veja como modifiquei o input-file do formulário abaixo:
      <form action="upload.php" method="post" enctype="multipart/form-data" >
       <input type="file" name="nomeDoUpload[]" webkitdirectory multiple><br/>
       <input type="submit" value="enviar"/>
      </form>
      
      Veja alguns detalhes que postei acima:
      - O Atributo name="nomeDoUpload[]" faz com que o PHP receba um Array de itens no Upload.
      - O Atributo multiple diz ao input-file que o navegador deverá habilitar a opção para selecionar múltiplos arquivos
      - O atributo webkitdirectory faz com que o Chrome habilite a opção para selecionar uma pasta inteira.

      No PHP:
      $uploads = $_FILES['files'];
      
      foreach($uploads as $upload)
      {
       echo 'Você enviou o arquivo ' . $upload['name'];
      }
      
      Veja que a linha 1, $_FILES['nomeDoUpload'] possui a STRING "nomeDoUpload" que é a mesma STRING que foi adicionado la no formulário. Como no formulário, após o "nomeDoUpload" foi adicionado um par de colchetes vazio, o PHP receberá o formulário em um array de elementos que eu trato com o foreach().

      PS: webkitdirectory não envia os nomes das pastas.
      Faça login para comentar

Logo Eduardo Kraus

Nossa missão é trazer educação de qualidade, para todas as pessoas, aonde quer que elas estejam para que elas possam alcançar seus sonhos profissionais.