Sunset 0 Denunciar post Postado Setembro 15, 2015 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
Beraldo 864 Denunciar post Postado Setembro 15, 2015 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