MBarros 0 Denunciar post Postado Abril 2, 2010 Pessoal, Como fazer com que as imagens sejam enviadas para uma pasta? (apenas 1 delas está indo) :( 2 tabelas, uma para onde o nome das imagens vão e outra para o restante dos dados (titulo, resumo, etc). Para colocar o nome da pasta como o ultimo ID inserido, eu tenho que fazer: @mysql_query("INSERT INTO `trabalhos`(id_trabalho, id_imagem, titulo, resumo, producao, detalhes) VALUES('', '$id_imagem', '$titulo', '$resumo', '$producao', '$detalhes')"); $caminho = "uploads/" . date('dmY').".00".mysql_insert_id(); Até ai tudo bem, ele cria a pasta. O problema é que ele está enviando apenas 1 imagem para sua respectiva pasta pois eu teria que deixar o mkdir e o move_uploaded_file dentro do foreach para que as outras imagens fossem para a pasta. Contudo, se eu deixar o mkdir e o move_uploaded_file dentro do foreach teria que adicionar também os inserts. E isso não me leva a um resultado nada agradável. (cada nome de img em uma row, quando as imagens referentes a um id estariam juntas, apesar de que, as imagens nesse caso iriam para a pasta) <?php mysql_connect("localhost","root","") or die ("Não foi possível conectar ao Servidor."); mysql_select_db("lab") or die ("Não foi possível selecionar a base de dados"); $titulo = $_POST['titulo']; $resumo = $_POST['resumo']; $producao = $_POST['producao']; $detalhes = $_POST['detalhes']; $imagens = array(); $aExtensoes = array("jpg", "jpeg"); $id_imagem = @mysql_query("SELECT * FROM `imagens` WHERE id_imagem=".$_GET['id_trabalho']); $_FILES['foto']['name'] = array_unique($_FILES['foto']['name']); foreach($_FILES["foto"]["name"] as $i => $nome_foto) { if ($_FILES["foto"]['error'][$i] == 0) { if (in_array(strtolower(substr($nome_foto, strrpos($nome_foto, ".") + 1)), $aExtensoes)) { $nomeArquivo = md5($nome_foto); $nomeTemporario = $_FILES["foto"]["tmp_name"][$i]; $extensao = end(explode('.', $nome_foto)); $imagens[] = $nomeArquivo .'.'. $extensao; } } } @mysql_query("INSERT INTO `imagens`(id_imagem, foto1, foto2, foto3, foto4) VALUES('', '$imagens[0]', '$imagens[1]', '$imagens[2]', '$imagens[3]')"); $query = "SELECT * FROM `imagens`"; $resultado = mysql_query($query); while ($linha = mysql_fetch_array($resultado)) { $id_imagem = $linha['id_imagem']; } @mysql_query("INSERT INTO `trabalhos`(id_trabalho, id_imagem, titulo, resumo, producao, detalhes) VALUES('', '$id_imagem', '$titulo', '$resumo', '$producao', '$detalhes')"); $caminho = "uploads/" . date('dmY').".00".mysql_insert_id(); if(!file_exists($caminho)) { @mkdir($caminho, 0777); } if(move_uploaded_file($nomeTemporario, $caminho .'/'. $nomeArquivo .'.'. $extensao)); { } echo "Arquivos enviados com sucesso."; ?> Compartilhar este post Link para o post Compartilhar em outros sites
MBarros 0 Denunciar post Postado Abril 3, 2010 Moderação, Favor colocar o o problema como resolvido pois eis a solução: <?php mysql_connect("localhost","root","") or die ("Não foi possível conectar ao Servidor."); mysql_select_db("lab") or die ("Não foi possível selecionar a base de dados"); $titulo = $_POST['titulo']; $resumo = $_POST['resumo']; $producao = $_POST['producao']; $detalhes = $_POST['detalhes']; $aExtensoes = array("jpg", "jpeg"); $id_imagem = @mysql_query("SELECT * FROM `imagens` WHERE id_imagem=".$_GET['id_trabalho']); $_FILES['foto']['name'] = array_unique($_FILES['foto']['name']); $resultado = mysql_query("SHOW TABLE STATUS LIKE 'trabalhos'"); $array = mysql_fetch_array($resultado); $caminho = "uploads/" . date('dmY').".00".$array['Auto_increment']; foreach ($_FILES["foto"]["name"] as $i => $nome_foto) { $nomeArquivo = md5(uniqid($nome_foto)); $nomeTemporario = $_FILES["foto"]["tmp_name"][$i]; $extensao = end(explode('.', $nome_foto)); $imagens[] = $nomeArquivo .'.'. $extensao; if (!file_exists($caminho . $nomeArquivo .'.'. $extensao)) { @mkdir($caminho, 0777); move_uploaded_file($nomeTemporario, ($caminho .'/'. $nomeArquivo .'.'. $extensao)); } } @mysql_query("INSERT INTO `imagens`(id_imagem, foto1, foto2, foto3, foto4) VALUES('', '$imagens[0]', '$imagens[1]', '$imagens[2]', '$imagens[3]')"); $query = "SELECT * FROM `imagens`"; $resultado = mysql_query($query); while ($linha = mysql_fetch_array($resultado)) { $id_imagem = $linha['id_imagem']; } @mysql_query("INSERT INTO `trabalhos`(id_trabalho, id_imagem, titulo, resumo, producao, detalhes) VALUES('', '$id_imagem', '$titulo', '$resumo', '$producao', '$detalhes')"); echo "Arquivos enviados com sucesso."; ?> Compartilhar este post Link para o post Compartilhar em outros sites