almap 0 Denunciar post Postado Março 27, 2016 Olá pessoal, desculpem-me se este tópico não estiver na área correta. É o seguinte, estou tentando enviar 3 imagens para uma pasta e gravar apenas o nome delas no banco de dados MYSQL. Eu estou conseguindo enviar apenas a primeira imagem das 3. Segue o meu código: if($function == "cadastrar"){if(!$_FILES) { echo "Nenhum arquivo selecionado para envio!";} else{ $file_name = $_FILES['foto1']['name'];$file_name2 = $_FILES['foto2']['name'];$file_name3 = $_FILES['foto3']['name'];$file_size = $_FILES['foto1']['size'];$file_size2 = $_FILES['foto2']['size'];$file_size3 = $_FILES['foto3']['size'];$file_tmp_name = $_FILES['foto1']['tmp_name'];$file_tmp_name2 = $_FILES['foto2']['tmp_name'];$file_tmp_name3 = $_FILES['foto3']['tmp_name'];$numero1 = rand(1,99999);$numero2 = rand(1,999);$numero11 = rand(1,99999);$numero22 = rand(1,999);$numero111 = rand(1,99999);$numero222 = rand(1,999);$nomeArquivo = ($numero1 * $file_size) * $numero2;$extensao = pathinfo($file_name, PATHINFO_EXTENSION);$foto1 = $nomeArquivo . "." . $extensao;$nomeArquivo2 = ($numero11 * $file_size2) * $numero22;$extensao2 = pathinfo($file_name2, PATHINFO_EXTENSION);$foto2 = $nomeArquivo2 . "." . $extensao2;$nomeArquivo3 = ($numero111 * $file_size3) * $numero222;$extensao3 = pathinfo($file_name3, PATHINFO_EXTENSION);$foto3 = $nomeArquivo3 . "." . $extensao3;$tamanhoArquivo = $file_size / 1024;$tamanhoArquivo2 = $file_size2 / 1024;$tamanhoArquivo3 = $file_size3 / 1024;}if (($extensao != "jpg") && ($extensao2 != "jpg") && ($extensao3 != "jpg")) { echo "Erro ao selecionar o arquivo!";}elseif(!move_uploaded_file($file_tmp_name, $destino." \\" . $foto1) && !move_uploaded_file($file_tmp_name2, $destino." \\" . $foto2) && !move_uploaded_file($file_tmp_name3, $destino." \\" . $foto3) ) { echo "Erro ao selecionar o arquivo!";} else { $insert = $pdo->prepare("INSERT INTO veiculo(id_marca, id_modelo, ano, estado, preco, foto1, foto2, foto3) VALUES (:id_marca, :id_modelo, :ano, :estado, :preco, :foto1, :foto2, :foto3)"); $insert->bindValue(":id_marca", $id_marca); $insert->bindValue(":id_modelo", $id_modelo); $insert->bindValue(":ano", $ano); $insert->bindValue(":estado", $estado); $insert->bindValue(":preco", $preco); $insert->bindValue(":foto1", $foto1); $insert->bindValue(":foto2", $foto2); $insert->bindValue(":foto3", $foto3); $insert->execute(); header('Location:pgveiculo.php?action=listar');}} Compartilhar este post Link para o post Compartilhar em outros sites
Beraldo 864 Denunciar post Postado Março 28, 2016 Primeiramente, habilite todas as exibições de erro, como mostrado neste tópico, na Orientação No. 2. Isso vai exibir possíveis erros. Seu if com os 3 move_uploaded_file deveria usar "||" em vez de "&&", uma vez que o erro deveria ser exibido se qualquer um dos move_uploaded_files falharem, certo? Para gerar os nomes aleatórios, recomendo usar uniqid(). rand() multiplicado pelo tamanho do arquivo pode gerar nomes repetidos, mesmo que essa probabilidade seja baixa. Compartilhar este post Link para o post Compartilhar em outros sites