How to send images with two inputs file?

Asked

Viewed 113 times

1

I have the following data and I want to register two inputs file at the same time:

<form method="post" enctype="multipart/form-data">
   <input type="file" name="thumb">
   <input type="file" name="img">
   <input type="sumite" name="enviar" value="Cadastrar">
</form>

I can do with an image but I have to add the gallery and a featured Thumb

<?php
 if(isset($_POST['enviar'])){
     $texto= trim(strip_tags($_POST['texto']));
     //Imagem
     $file      = $_FILES['img'];
     $numFile       = count(array_filter($file['name']));
     //PASTA
     $folder        = 'slide/';
     //REQUISITOS
     $permite   = array('image/jpeg', 'image/png');
     $maxSize   = 1024 * 1024 * 5;
     //MENSAGENS
     $msg       = array();
     $errorMsg  = array(
       1 => 'O arquivo no upload é maior do que o limite definido em upload_max_filesize no php.ini.',
       2 => 'O arquivo ultrapassa o limite de tamanho em MAX_FILE_SIZE que foi especificado no formulário HTML',
       3 => 'o upload do arquivo foi feito parcialmente',
       4 => 'Não foi feito o upload do arquivo'
     );
     if($numFile <= 0){
       echo '<div class="alert alert-danger">
             <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
             Selecione pelo menos 1 foto para a postagem!
           </div>';
     }
     else if($numFile >=10){
       echo '<div class="alert alert-danger">
             <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
             Você ultrapassou o limite de upload. Selecione até 9 fotos e tente novamente!
           </div>';
     }else{
       for($i = 0; $i < $numFile; $i++){
         $name  = $file['name'][$i];
         $type  = $file['type'][$i];
         $size  = $file['size'][$i];
         $error = $file['error'][$i];
         $tmp   = $file['tmp_name'][$i];
         $extensao = @end(explode('.', $name));
         $novoNome = rand().".$extensao";
         if($error != 0)
           $msg[] = "<b>$name :</b> ".$errorMsg[$error];
         else if(!in_array($type, $permite))
           $msg[] = "<b>$name :</b> Erro imagem não suportada!";
         else if($size > $maxSize)
           $msg[] = "<b>$name :</b> Erro imagem ultrapassa o limite de 5MB";
         else{
           if(move_uploaded_file($tmp, $folder.'/'.$novoNome)){
             //$msg[] = "<b>$name :</b> Upload Realizado com Sucesso!";
             //Insert table
             $insert= "INSERT into slide (texto, img) VALUES(:texto, :img)";
             //Segunda validação
             try{
               $result= $conexao->prepare($insert);
               $result->bindParam(":texto",   $texto,  PDO::PARAM_STR);
               $result->bindParam(":img",     $novoNome,PDO::PARAM_STR);
               $result->execute();
               $contar= $result->rowCount();
               if($contar>0){
                 echo '
                 <div class="alert alert-success alert-dismissable">
                     <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
                     <i class="fa fa-info-circle"></i>  <strong>Postagem cadastrada com sucesso!</strong> Para visualizar clique <a href="">aqui</a>
                 </div>
                 ';
               }//Se realizado o cadastro
               else{
                 echo '
               <div class="alert alert-danger alert-dismissable">
                   <button type="button" class="close" data-dismiss="alert" aria-hidden="true">×</button>
                   <i class="fa fa-info-circle"></i>Falha ao cadastrar postagem.</div>
               ';
               }//Mensagem de falha
             }catch(PDOException $erro){echo $erro;}
               }else{$msg[] = "<b>$name :</b> Desculpe! Ocorreu um erro...";}
               foreach($msg as $pop)
               echo $pop.'<br>'; //echo $pop.'<br>';
           }
         }
     }
 }
?>
  • But what would be the doubt?

1 answer

0

This is what you want?

 $file  = $_FILES['img'];
 $thumb = $_FILES['thumb'];

Browser other questions tagged

You are not signed in. Login or sign up in order to post.