ecotuba 0 Denunciar post Postado Janeiro 30, 2008 Amigos Estou estudando um sistema que necessito fazer o seguinte: Upload da img Redimensionar a img criar thumbnail salvar no BD Até ai td bem, eu estou usando a obra do Fábio aqui do fórum: (http://forum.imasters.com.br/index.php?showtopic=164120&st=50) Ai me veio a cabeça fazer, e se eu tentar fazer upload multiplo das imagens e continuar com as tarefas que listei acima? Ai pensei nisso: Aqui informo a qtd de fotos <form action="vai.php" method="post"> <b>Envio das fotos</b><br /> Quantidade de imagens<br /> <input type="text" name="quantidade" size="5"/><br /> <input type="submit" value="OK"/> </form> Aqui processo essa informação <?php // Obtém quantidade enviada. Verifica se foi fornecido um número inteiro, // caso contrário é usada uma quantidade padrão, 5. $Quantidade = (isset($_POST['quantidade']) && is_int(intval($_POST['quantidade']))) ? (int)$_POST['quantidade'] : 5; // Abre formulário de upload echo '<form action="upload.php" method="POST" enctype="multipart/form-data">'; echo '<b>Envio das fotos</b><br />'; // Imprime os campos para upload, de acordo com a quantidade pedida for($i = 1; $i <= $Quantidade; ++$i) { echo 'Foto #' . $i . ': <input type="file" name="fotos[]" /><br/>'; } // Fecha formulário echo '<br /><input type="submit" value="OK"/>'; echo '</form>'; ?> E aqui eu travo e peço ajuda a vcs (e ao pai da criança, seu Fábio hehe), o que preciso fazer para adaptar a função que citei no link p/ trabalhar com mais imagens? Tentei algumas coisas, mas sem sucesso. Alguma sugestão amigos? Grato Compartilhar este post Link para o post Compartilhar em outros sites
uelio 0 Denunciar post Postado Janeiro 30, 2008 cara eu criei um sistema desse.. se você quiser eu te passo por email... é so você pedir.. abraços! Compartilhar este post Link para o post Compartilhar em outros sites
ecotuba 0 Denunciar post Postado Janeiro 30, 2008 Salve Uelio beleza ai? Ta pedido então, me manda sim, pode ser ? anota ai ecotuba@hotmail.com (é msn tbm) Valeu, fico no aguardo. Compartilhar este post Link para o post Compartilhar em outros sites
cassiano óliver 1 Denunciar post Postado Janeiro 31, 2008 uelio, poderia me passar também? cassiano@cassianodesigner.com abraço Compartilhar este post Link para o post Compartilhar em outros sites
ecotuba 0 Denunciar post Postado Fevereiro 1, 2008 Valeu Uelio pelo code, estou adaptando ele aqui, mas estou com dúvidas em como chegar ao resultado que preciso: Minha tabela no bd é a seguinte: CODE CREATE TABLE `galeria` ( `id` int(11) NOT NULL auto_increment, `dir` varchar(50) NOT NULL, `mini` varchar(255) NOT NULL, `foto` varchar(255) NOT NULL, `legenda` varchar(100) NOT NULL, PRIMARY KEY (`id`), KEY `id` (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1 COMMENT='Tabela' ; meu form: CODE <form name="upload" id="upload" action="manda.php" method="post" enctype="multipart/form-data"> <ul> <li>dir</li> <li><input name="dir" type="text" id="dir" /></li> <li><input name="form_imagem[]" type="file" id="form_imagem[]" /></li> <li>legenda<input name="legenda" type="text" id="legenda" /></li> <li><input name="form_imagem[]" type="file" id="form_imagem[]" /></li> <li>legenda<input name="legenda" type="text" id="legenda" /></li> <li><input type="submit" value="Enviar" /></li> </ul> </form> Coloquei só dois campos p envio p encurtar o code, vou usar 10 campos. Ai a parte q uso do code q você mandou é essa: CODE <?set_time_limit(0); // tamanho das imagens $x_g = 550; $y_g = 412; $x_p = 200; // 120 $y_p = 150; // 90 // criando identificadores $pqn = 0; $nomeia_imagens = "_g"; // gerando um novo nome para o arquivo para nao haver conflito $imagePath = foto; // iniciando loops for($j=0; $j<2; $j++) { if($pqn == 1) { $x_g = $x_p; $y_g = $y_p; $nomeia_imagens = "_p"; } for($i=0; $i<3; $i++) { $imagem = $_FILES['form_imagem']['name'][$i]; $imagem_temporaria = $_FILES['form_imagem']['tmp_name'][$i]; ### MONTANDO IMAGEM GRANDE ### MONTANDO O NOME DO ARQUIVO RESULTANTE GRANDE //$arquivo_grande = explode(".", $imagem); $arquivo_grande = "img/".$imagePath . $nomeia_imagens . $i . ".jpg"; ### LENDO A IMAGEM ORIGINAL E OBTENDO AS SUAS DIMENSOES $foto_original = imagecreatefromjpeg($imagem_temporaria); $foto_originalx_g = imagesx($foto_original); $foto_originaly_g = imagesy($foto_original); ### CRIANDO A IMAGEM QUE IRA CONTER A MINIATURA $foto_final_g = imagecreatetruecolor($x_g, $y_g); ### REDIMENSIONANDO PARA DENTRO DA IMAGEM FINAL $img_upload_g = imagecopyresampled($foto_final_g, $foto_original, 0, 0, 0, 0, $x_g+1, $y_g+1, $foto_originalx_g, $foto_originaly_g); imagejpeg($foto_final_g, $arquivo_grande); } // fim do loop das pequenas $pqn = 1; } $imagem0 = "img/".$imagePath . "_p0.jpg"; $imagem1 = "img/".$imagePath . "_p1.jpg"; $imagem2 = "img/".$imagePath . "_p2.jpg"; $imagem3 = "img/".$imagePath . "_g0.jpg"; $imagem4 = "img/".$imagePath . "_g1.jpg"; $imagem5 = "img/".$imagePath . "_g2.jpg"; $imgpequenas = $imagem0 . "|" .$imagem1 . "|" .$imagem2; $imggrandes = $imagem3 . "|" .$imagem4 . "|" .$imagem5; $dir = $_POST['dir']; $legenda = $_POST['legenda']; // -Banco de Dados - // include "conexao_MYSQL.php"; //consulta sql inserindo os dados $sql = "INSERT into galeria (id, dir, mini, foto, legenda) VALUES (NULL , '$dir', '$imgpequenas', '$imggrandes', '$legenda')"; $resultado=mysql_query($sql) or die("Erro na query , ".mysql_error()); $pqn = 0; ?> Aqui q o bixo da nó na minha cabeça, eu queria que cada foto fosse gravada em um id diferente, junto com a sua respectiva legenda, a $dir vou usar p identificar a pasta onde guardarei as fotos, entao td bem de repetir ela p tds os registros. Do jeito que esta, ele grava assim: VALUES (39, 'renato', 'img/foto_p0.jpg|img/foto_p1.jpg|img/foto_p2.jpg', 'img/foto_g0.jpg|img/foto_g1.jpg|img/foto_g2.jpg', 'foto3'); O que busco é fazer o registro dessa forma: VALUES (1, 'renato', 'foto01.jpg', 'foto01.jpg', 'Café da manhã variado'); VALUES (2, 'renato', 'foto02.jpg', 'foto02.jpg', 'Café da tarde'); VALUES (3, 'renato', 'foto03.jpg', 'foto03.jpg', 'Cafezinho'); Galera que devo fazer para conseguir isso da forma correta? Compartilhar este post Link para o post Compartilhar em outros sites
ecotuba 0 Denunciar post Postado Fevereiro 2, 2008 Procurei algo parecido, mas não estou encontrando, ou fazendo a busca errada, não sei como devo chamar esse problema. Qualquer ajuda será bem vinda. grato Compartilhar este post Link para o post Compartilhar em outros sites
LsJack 0 Denunciar post Postado Março 9, 2008 uelio, poderia me passar também? marcos_graa@yahoo.com.br Compartilhar este post Link para o post Compartilhar em outros sites