Jump to content
belann

Upload de multiplos arquivos com PHP

Recommended Posts

Olá!

 

Como faço para conseguir retirar de uma variável PHP $_FILES os nomes e tamanho dos arquivos estou fazendo dessa forma e não dá certo. É o upload de vários arquivos ao mesmo tempo com multiple.

for ($i = 0; $i < $numeroCampos; $i++) {
    
    $Arquivo = $_FILES["file"]["name"][$i][0];
    $tamanhoArquivo = $_FILES["file"]["size"][$i][3];
    $nomeTemporario = $_FILES["file"]["tmp_name"][$i][2];

}

Share this post


Link to post
Share on other sites

Eu fiz esse código em HTML

<label id="leitura" class="leitura" for="files">Escolha os Arquivos:</label>
           <input type="file" accept="image/*|video/*" name="arquivo" id="arquivo" class="jump" multiple="true">
           <input type="button" id="btcar" class="btcarrega" name="carrega" value="Carrega" onclick="Carrega();">

 

e chamo a função Carrega() abaixo

 

function Carrega(){
     var fileInput = document.getElementById("arquivo");  
      var str = new FormData();
       for (i = 0; i < fileInput.files.length; i++) {
         str.append(fileInput.files.name, fileInput.files);
    }   
          
      
      $.ajax({
               url: "upload.php",
               method: "POST",
               data: str,               
               contentType: false,
               cache: false,
               processData: false,  
               beforeSend:function(){
                   $('#respimg').html("Enviando...");
               },
               success:function(data){
                       $('#msgret').html(data);                       
                  }
    });
}
 

PHP

<?php
$numeroCampos = 2;
if (isset($_FILES['arquivo'])){
 for ($i = 0; $i < $numeroCampos; $i++) {
    
    $nomeArquivo = $_FILES["arq"]["name"][$i];
    $tamanhoArquivo = $_FILES["arq"]["size"][$i];
    $nomeTemporario = $_FILES["arq"]["tmp_name"][$i];

}

 

Ele não faz se eu não colocar o if isset ele dá a mensagem de Notice: Undefined index: arquivo

Share this post


Link to post
Share on other sites

 

Olá!
Segue sugestão:

js

function Carrega() {
  const fileInput = document.getElementById("arquivo");
  const fData = new FormData();
  for (file of fileInput.files) {
    fData.append('arquivo[]', file);
  }


  $.ajax({
    url: "upload.php",
    method: "POST",
    data: fData,
    contentType: false,
    cache: false,
    processData: false,
    beforeSend: function () {
      $('#respimg').html("Enviando...");
    },
    success: function (data) {
      $('#msgret').html(data);
    }
  });
}

php

if (isset($_FILES['arquivo'])) {
  for ($i = 0; $i < count($_FILES['arquivo']['name']); $i++) {

    $nomeArquivo    = $_FILES['arquivo']['name'][$i];
    $tamanhoArquivo = $_FILES['arquivo']['size'][$i];
    $nomeTemporario = $_FILES['arquivo']['tmp_name'][$i];

    echo "<pre>Arquivo <b>$i</b>: ";
    print_r([$nomeArquivo, $tamanhoArquivo, $nomeTemporario]);
    echo '</pre>';

  }
}

 

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By miltonmmjr
      Quero mostrar os campos de uma tabela do DB em HTML5 PHP com colunas de tamanho varável para facilitar estou colocando uma foto, pois não descobri na internet como fazer isso.
    • By Laysilva
      Boa tarde , gostaria de uma ajuda , meu formulário está em HTML , porém eu preciso colocar o if else no meio dele , pro caso If a pessoa for física , aparece o formulário "A' SE FOR JURÍDICA O FORMULÁRIO "b" , mas não tô conseguindo fazer essa adaptação . 
      Meu formulário tá assim : 

       
      <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="tipo_empresa" id="pj" value="pj"> <label class="form-check-label" for="pj">Pessoa Jurídica</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="tipo_empresa" id="pf" value="pf"> <label class="form-check-label" for="pf">Pessoa Física</label> </div> </div> </div> <div class="row"> <div class="col"> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="responsavel" id="socio" value="socio"> <label class="form-check-label" for="socio">Sócio</label> </div> <div class="form-check form-check-inline"> <input class="form-check-input" type="radio" name="responsavel" id="procurador" value="procurador"> <label class="form-check-label" for="procurador">Procurador</label> </div> </div> </div> <br> <div> <div class="row"> <div class="col"> <label for="cnpj">CNPJ/CPF</label > <input id="cnpj" name="cnpj" type="String" placeholder="Digite seu CNPJ/CPF" class="form-control input-md" required> </div> <div class="col"> <label for="doc_empresa">Dados da Empresa</label > <div class="form-group"> <input type="file" name="img" multiple class="form-control-file" accept=".pdf"> </div> </div> </div> <div class="row"> <div class="col"> <label for="cpf">CPF</label> <input id="cpf" name="cpf" type="String" placeholder="Digite o CPF" class="form-control input-md" required> </div> <div class="col"> <label for="email">E-mail</label> <input id="email" name="email" type="email" placeholder="Digite o seu E-amil" class="form-control input-md" required> </div> </div> <div class="row"> <div class="col"> <label for="inputPassword3">Data e Hora</label> <input type="date" class="form-control" name="data" placeholder="Data"> </div> <div class="col"> <label for="nome">Nome</label> <input id="nome" name="nome" type="text" placeholder="Digite o Nome do Respnsável Legal" class="form-control input-md" required> </div> </div> <div class="row"> <div class="col"> <label for="tel">Telefone</label> <input id="tel" name="tel" type="double" placeholder="Digite o seu Telefone" class="form-control input-md" required> </div> <div class="col"> <label for="endereco">Bairro</label> <input id="endereco" name="endereco" type="String" placeholder="Digite o Bairro" class="form-control input-md" required> </div> </div> <div class="row"> <div class="col"> <label for="rua">Rua</label> <input id="rua" name="rua" type="String" placeholder="Digite o nome da rua" class="form-control input-md" required> </div> <div class="col"> <label for="cep">CEP</label> <input id="cep" name="cep" type="double" placeholder="Digite o cep" class="form-control input-md" required> </div> </div> <br><br><br><br> <div class= "offset-md-5 col-md-12"> <button type="submit" class="btn btn-dark col-md-1">Cadastrar</button>  
    • By thaless94
      <?php
      include_once("conexao.php");
      $filtro = isset($_GET['filtro'])?$_GET['filtro']:"";
      $sql = "select * from usuarios where profissao like'%$filtro%' order by nome";
      $consulta = mysqli_query($conexao,$sql);
      $registros = mysqli_num_rows($consulta);

      ?>
      <!DOCTYPE html>
      <html lang="pt-br">
          <head>
              <meta charset="utf-8">
              <title>Sistema de Cadastro</title>
              <link rel="stylesheet" href="_css/estilo.css">
          </head>
          <body>
              <div class="container">
                  <nav>
                      <ul class="menu">
                          <a href="index.php"><li>Cadastro</li>
                          <a href="consulta.php"><li>Consultar</li></a>
                      </ul>
                  </nav>
                  <section>
                      <h1>Consultar</h1>
                      <hr><br><br>
                      <form method="get" action="">
                          Filtrar profissão: <input type="text" name="filtro" class="campo" required autofocus>
                          <input type="submit" value="Pesquisar" class="btn">
                      </form>    
                      <?php
                      echo "<br>Resultado da pesquisa com a palavra: $filtro <br><br>";
                      echo "<br>$registros Registros encontrados.";
                      while($exibirRegistros = mysqli_fetch_array($consulta)){
                          $codigo = $exibirRegistros[0];
                          $nome = $exibirRegistros[1];
                          $email = $exibirRegistros[2];
                          $profissao = $exibirRegistros[3];

                          echo "<article>";
                          echo "$codigo<br>";
                          echo "$nome<br>";
                          echo "$email<br>";
                          echo "$profissao<br>";    

      ---->             echo "<input type='submit' name='filtro' class='btn_alterar' value='Excluir' href='excluir.php'/> ";
                          echo "</article>";
                      }
                      mysqli_close($conexao);
                      ?>
                  </section>
              </div>
          </body>
      </html>
       
      -------------------------------------------------------------------------------------
       
      querendo puxar de outra página "excluir.php", para aquele botão
       
      <?php
      include_once("conexao.php");
      $codigo = 6;
      $id = "delete from usuarios where codigo = '$codigo'";
      $resultado = mysqli_query($conexao,$id);

      //mysqli_close($conexao);
      ?>
    • By santans
      Tenho uma duvida, para que serve o comando md5 vi ele sendo usado em um tutorial e parece ser algum tipo de criptografia...
      gostaria de saber pra que serve e como usa-lo
    • By FabianoBSB
      Bom dia pessoal.
      Preciso de uma ajuda para realizar uma busca em uma chave de um array que tem um href e um src.
      A linha é essa:
      [description] => <div class="separator" style="clear: both; text-align: center;"><a href="https://2.bp.blogspot.com/-SqGrd2c9OBU/WeX5PvXWMuI/AAAAAAAAqhQ/hez3wcpKMQQOKAIjEEugOAvI2tLrwC0WwCLcBGAs/s1600/17102017%25283%2529.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="266" data-original-width="400" height="265" src="https://2.bp.blogspot.com/-SqGrd2c9OBU/WeX5PvXWMuI/AAAAAAAAqhQ/hez3wcpKMQQOKAIjEEugOAvI2tLrwC0WwCLcBGAs/s400/17102017%25283%2529.jpg" width="400" /></a> o que quero é só pegar o link dessas duas tags.
      Obrigado
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.