Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sunset

Multiplo upload de imagens não funcionando

Recommended Posts

E ae galera, tudo bem? Fiz um sistema de upload de imagem e funcionou beleza, agora estou fazendo um de upload multiplo de imagens, mais na hora que eu seleciono as imagens ele não funciona, não salva na pasta, não salvar no banco e nem aparece erro nenhum, já alterei o foreach várias vezes e não conseguir fazer funcionar, segue abaixo o codigo, desde já agradeço a ajuda de todos:

 

O Banco de Dados é esse abaixo:

CREATE TABLE IF NOT EXISTS `mydb`.`dub` (
  `id` INT(11) NOT NULL AUTO_INCREMENT,
  `foto` VARCHAR(255) NOT NULL,
  PRIMARY KEY (`id`))

A classe index.php:

<html>
    <head>
        
    </head>
    
    
    <body>
            Selecionar
            
            <form action="upload.php?funcao=gravar" method="POST" enctype="multipart/form-data">
                
                <input type="file" name="arquivo[]" id="arquivo" multiple=""  />
        <br><br>
        <input type="submit" name="button" id="button" value="Enviar" />
     </form>
  <br>
  <br>
  <br>  
  <br>          
  <br>          
 <?php
 include_once("conexion.php");
 
 $sql = mysql_query("SELECT * FROM dub");
 while($linha = mysql_fetch_array($sql)){
     $id = $linha['id'];
     $foto_db = $linha['foto'];
 ?>

<img src="fotos/<?php echo $foto_db ?>" width=200 heigh=250>
<a href = "editar.php?id=<?php echo $id ?>"> Alterar </a>
     <?php
     
 }
 
 ?>
            
 </body>    
</html>

A classe upload.php:

<?php

include_once("conexion.php");

if($_GET['funcao'] == "gravar"){   
  
   foreach($_FILES['arquivo']['tmp_name'] as $key => $tmp_name ){
		$foto = $key.$_FILES['arquivo']['name'][$key];
                $foto_tmp = $_FILES['arquivo']['tmp_name'][$key];
		$foto_size =$_FILES['arquivo']['size'][$key];
		$foto_type =$_FILES['arquivo']['type'][$key];	
    
    
    
    $foto = str_replace(" ", "_", $foto);
    $foto = str_replace("ã", "a", $foto);
    $foto = str_replace("á", "a", $foto);
    $foto = str_replace("à", "a", $foto);
    $foto = str_replace("é", "e", $foto);
    $foto = str_replace("ê", "e", $foto);
    $foto = str_replace("è", "e", $foto);
    $foto = str_replace("í", "i", $foto);
    $foto = str_replace("ì", "_", $foto);
    $foto = str_replace("ó", "o", $foto);
    $foto = str_replace("õ", "o", $foto);
    $foto = str_replace("ç", "c", $foto);

    $foto = strtolower($foto);
    
     
    $tipos = array('image/jpeg', 'image/pjpeg', 'image/jpeg', 'image/pjpeg', 'image/gif', 'image/png');
    $foto_type = $_FILES['arquivo']['type'];
     if(array_search($foto_type, $tipos) == false){
       " <meta http-equiv=refresh content='0; url=index.php'>
        <script type='text/javascript'>
        alert('Formato inválido');
        </script>
     ";
       
     }else{
           
   if(file_exists("fotos/$foto")) {
       $a = 1;
     
     while(file_exists("fotos/[$a]$fotos")) {
     $a++;
     
     
     }
     $foto = "[".$a."]". $foto;
     }
       
      if(!move_uploaded_file($_FILES['arquivo']['tmp_name'], "fotos/".$foto)) {
        echo "
        <meta http-equiv=refresh content='0; url=index.php'>
        <script type='text/javascript'>
        alert('Erro no upload do arquivo');
        </script>
   
  ";
      
     
      }
      
      $sql = mysql_query("INSERT INTO dub (foto) value ('$foto')");
  }    header("Location: index.php");
       
  }
   
}else{
header("Location: index.php"); 
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Primeiro, habilite todas as exibições de erro, como mostrado neste tópico

 

Depois retire as meta-tags e o header(). Troque tudo por simples echo com alguma mensagem explicativa. Isso vai ajudar a ver onde o script está falhando

 

Execute novamente e veja se aparece algum erro.

 

 

PS: funções mysql_* estão obsoletas desde o PHP 5.5 e já foram removidas no PHP 7. Prefira usar MySQLi ou PDO. Veja mais aqui: http://rberaldo.com.br/mysql-obsoleto-php/

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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