Ir para conteúdo
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];

}

Compartilhar este post


Link para o post
Compartilhar em outros 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

Compartilhar este post


Link para o post
Compartilhar em outros 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>';

  }
}

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por 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.
    • Por 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>  
    • Por 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);
      ?>
    • Por 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
    • Por 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
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.