Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS

Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Upload de mais de uma imagem por produto

01-06-2010 00:02

Olá. Voltei com uma nova dúvida.
Tenho aqui no meu sisteminha de orçamento um devido produto. Ele tem uma imagem a qual já fiz o upload. Agora se eu tiver mais de uma imagem deste produto, de outros angulos? Gostaria de uma orientação sobre este assunto. Faço um upload de multiplos arquivos. Tenho como fazer derrepente uma opção de mais fotos na hora de cadastrar e abrir mais um campo para uma segunda imagem?

Lembrando que, tem produtos que terá apenas uma imagem, outros 2, outros 3 e assim por diante. E será mostrado somente nos detalhes. Como no site da americanas por exemplo que tem aquela opção abaixo de mais fotos.

até mais...
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17237
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Upload de mais de uma imagem por produto

01-06-2010 11:24

Acho que esse script vai ser o melhor para você trabalhar, para adicionar os inputs

http://www.codigosnaweb.com/forum/Scrip ... 3_750.html
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Upload de mais de uma imagem por produto

01-06-2010 12:40

Beleza. Acho que é isso mesmo. Vou testar.
Só mais uma pergunta para ver se entendi.
O nome do campo fica o mesmo então? e na hora do upload vai fazer o up de todas as imagens que eu colocar aqui então? Tenho que fazer alguma alteração no script que recebe os dados para mandar para o banco e para a pasta de imagens?

att,

Robson
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17237
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Upload de mais de uma imagem por produto

01-06-2010 15:44

Você pode basear seus input como array

http://www.codigosnaweb.com/forum/viewtopic.php?p=3412
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Upload de mais de uma imagem por produto

07-06-2010 11:35

Cara só agora pude dar uma olhada nisto.
Deixa ver se eu entendi direito. Usei o que você me passou. então anexei uma foto adicionei mais um input como botão adicinar campo e coloquei no name - txt_arquivo[].
só que tem um porem na página que recebe e manda para as fotos para pasta e nome para banco tem uma parada que dimiu as imagens e dá nome aleatórios para as imagens antes de mandar para o banco e pasta.

Como posso fazer isso? Fazer um explode, um for sei lá para pegar um de cada vez mudando o nome e só depois mandar para o banco?
E depois para mostrar os resultados? Utilizar o like?

Será que estou no caminho ou estou viajado muito? hehehe...

até.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17237
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Upload de mais de uma imagem por produto

07-06-2010 12:00

Para pegar cada name da imagem enviada como array: input[] você tem que fazer um foreach, ele mesmo já faz um laço pegando nome por nome de imagem enviada, ai dentro do próprio foreach você faz o tratamento necessário na foto.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Upload de mais de uma imagem por produto

07-06-2010 14:04

É verdade. Vou ver aqui.
Até.
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Upload de mais de uma imagem por produto

13-06-2010 15:03

Tentei aqui mas ainda estou encontrado problemas.
Vou postar o código para dar uma olhada.
Estou mandando duas imagens com o nome de inverno.jpg e Montanhas azuis.jpg para teste.
A parte do foreach está ok a príncipio. Está recebendo certo.
<?php $arquivo = $_FILES['txt_arquivo']; $nome = $arquivo['name']; $imagem = $arquivo['tmp_name']; $md5 = md5(uniqid(rand())); //Fiz aqui para verificar a extensão de cada imagem foreach($nome as $foto){ $fotos = $foto; echo $fotos; //resulta em inverno.jpgMontanhas azuis.jpg } //Aqui o temporário foreach($imagem as $foto2){ //echo $foto2."</br>"; $fotostmp = $foto2; echo $fotostmp; //resulta em C:\wamp\tmp\php3ED.tmpC:\wamp\tmp\php3EE.tmp //Extensões válidas $extensoes_validas = array('.jpg','.JPG','.jpge','.JPEG','.gif', '.GIF','.png', '.PNG'); set_time_limit(0); $extensao = strrchr($fotos,'.'); //Verifica as extensões if(!in_array($extensao,$extensoes_validas)){ echo "<script>alert('Arquivo Não suportado');</script>"; echo("<script>history.back();</script>"); exit();} if($extensao == ".jpg" || $extensao == ".JPG" || $extensao == ".jpge" || $extensao == ".JPEG" ){ $img = imagecreatefromjpeg($fotostmp); $largura_original_x = imagesx($img); $altura_original_y = imagesy($img); if($largura_original_x > $altura_original_y){ $largura_nova = 400; // altura nova $altura_nova = ($altura_original_y * $largura_nova) / $largura_original_x; // largura nova } if($largura_original_x < $altura_original_y){ $altura_nova = 400; // altura nova $largura_nova = ($largura_original_x * $altura_nova) / $altura_original_y; // largura nova } if($largura_original_x == $altura_original_y){ $altura_nova = 400; // altura nova $largura_nova = ($largura_original_x * $altura_nova) / $altura_original_y; // largura nova } $nova_imagem = imagecreatetruecolor($largura_nova,$altura_nova); imagecopyresampled($nova_imagem,$img,0,0,0,0,$largura_nova,$altura_nova, $largura_original_x,$altura_original_y); imagejpeg($nova_imagem,"imagensprodutos/$md5",100); imagedestroy($img); imagedestroy($nova_imagem); $txt_arquivo = "$md5"; } //Aqui aparece 2 resultados um para cada foto que mandei, mas com o mesmo nome. echo $txt_arquivo."</br>"; } ?>

Não sei se estou fazendo correto. Mas assim. ali embaixo dou um echo e me retorna 2 valores como deveria. O problema é que com o mesmo nome. exemplo: b1d212c6f23a54a70a302900a02c9396.
No banco faz o upload somente deste valor também e é claro para a pasta vai somente uma imagem também.
dá uma força aí cara, me aponta onde estou fazendo a burrada.
Valeu.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17237
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Upload de mais de uma imagem por produto

13-06-2010 15:20

Para pegar os nomes das figuras criadas, você pode adicionar um outro array. Primeiro cria ele fora do foreach

$valor = Array();

Dentro, você adiciona o nome da foto como índice.

$valor[] = "$...";

Fora você carrega o array novamente.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Upload de mais de uma imagem por produto

13-06-2010 16:50

Cara vou incomodar novamente. Não consegui entender direito. Pelo menos acho que não, pq tentei fazer e não deu certo.
Podes me explicar melhor ou dar um exemplo.
Obrigado.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17237
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Upload de mais de uma imagem por produto

13-06-2010 17:11


<?php $fotos = Array(); // simulando as fotos que vem pelo array $fotos[] = "foto1.jpg"; $fotos[] = "foto2.jpg"; // $todas vai armazenas os nomes dentro do foreach $todas = Array(); // faz o tratamento, mostra o nome da foto e adicione o nome ao array $todas foreach($fotos AS $foto) { echo $foto."<br>"; $todas[] = $foto; } // exibe as fotos que foram armazenadas no foreach print_r($todas); ?>

0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Upload de mais de uma imagem por produto

14-06-2010 13:00

Cara continuo me ferrando com isso aqui. Na hora de gerar um nome em MD5 para cada imagem, está dando somente um e contiua mandando somente uma imagem para a pasta.
Será que estou errando em mais algum lugar?

até.
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Upload de mais de uma imagem por produto

14-06-2010 13:04

Acho que esqueci de mencionar. Quero salvar no banco os dois nomente separado por "," no mesmo campo e na pasta cada imagem com seu respectivo nome.

até
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17237
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Upload de mais de uma imagem por produto

14-06-2010 13:49

Da forma que deixei no exemplo você consegue, caso contrário tem que pedir alguém que monte para você.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Upload de mais de uma imagem por produto

14-06-2010 17:30

Eu fiz ali o que você deixou. So não sei se fiz no lugar correto. Você quer dizer que depois que faço esse código, ele vai pegar as imagens individualmente e vai renomear com o MD5?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17237
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Upload de mais de uma imagem por produto

14-06-2010 17:48

Eu só te passei a estrutura lógica que deve usar, para pegar os valores que foram enviadas via array e trabalhadas no foreach.

O md5 você tem que aplicar dentro do foreach.
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 149

Upload de mais de uma imagem por produto

15-06-2010 20:37

Cara, exatamente isso que estava errando. o md5 fora do foreach. Que burrada.
Novato é bucha. hehe...
Consegui fazer também com o "for". Vou postar as duas formas aqui para dar uma olhada e para quem precisar.
Até mais é muito obrigado.

Com o "foreach":
<?php $arquivo = $_FILES['txt_arquivo']; $nome = $arquivo['name']; $imagem = $arquivo['tmp_name']; $md5 = md5(uniqid(rand())); foreach($nome as $iii) { $nome2 = $iii;} foreach($imagem as $foto) { $todas = $foto; $md5 = md5(uniqid(rand())); $extensoes_validas = array('.jpg','.JPG','.jpge','.JPEG','.gif', '.GIF','.png', '.PNG'); set_time_limit(0); $extensao = strrchr($nome2,'.'); if(!in_array($extensao,$extensoes_validas)){ echo "<script>alert('Arquivo Não suportado');</script>"; echo("<script>history.back();</script>"); exit();} if($extensao == ".jpg" || $extensao == ".JPG" || $extensao == ".jpge" || $extensao == ".JPEG" ){ $img = imagecreatefromjpeg($todas); //print_r ($img); $largura_original_x = imagesx($img); $altura_original_y = imagesy($img); if($largura_original_x > $altura_original_y){ $largura_nova = 400; // altura nova $altura_nova = ($altura_original_y * $largura_nova) / $largura_original_x; // largura nova } if($largura_original_x < $altura_original_y){ $altura_nova = 400; // altura nova $largura_nova = ($largura_original_x * $altura_nova) / $altura_original_y; // largura nova } if($largura_original_x == $altura_original_y){ $altura_nova = 400; // altura nova $largura_nova = ($largura_original_x * $altura_nova) / $altura_original_y; // largura nova } $nova_imagem = imagecreatetruecolor($largura_nova,$altura_nova); imagecopyresampled($nova_imagem,$img,0,0,0,0,$largura_nova,$altura_nova,$largura_original_x,$altura_original_y); imagejpeg($nova_imagem,"imagensprodutos/$md5",100); imagedestroy($img); imagedestroy($nova_imagem); $txt_arquivo = "$md5"; } //echo $txt_arquivo; } ?>



Com o "for":
<?php $arquivo = $_FILES['txt_arquivo']; $pasta = 'imagensprodutos/'; $contar = count($arquivo['name']); for ($i=0; $i < $contar; $i++){ $nome = $arquivo['name'][$i]; $tmp = $arquivo['tmp_name'][$i]; $md5 = md5(uniqid(rand())); echo $tmp; $extensoes_validas = array('.jpg','.JPG','.jpge','.JPEG','.gif', '.GIF','.png', '.PNG'); set_time_limit(0); $extensao = strrchr($arquivo['name'][$i],'.'); if(!in_array($extensao,$extensoes_validas)){ echo "<script>alert('Arquivo Não suportado');</script>"; echo("<script>history.back();</script>"); exit();} if($extensao == ".jpg" || $extensao == ".JPG" || $extensao == ".jpge" || $extensao == ".JPEG" ){ $img = imagecreatefromjpeg($arquivo['tmp_name'][$i]); //print_r ($img); $largura_original_x = imagesx($img); $altura_original_y = imagesy($img); if($largura_original_x > $altura_original_y){ $largura_nova = 400; // altura nova $altura_nova = ($altura_original_y * $largura_nova) / $largura_original_x; // largura nova } if($largura_original_x < $altura_original_y){ $altura_nova = 400; // altura nova $largura_nova = ($largura_original_x * $altura_nova) / $altura_original_y; // largura nova } if($largura_original_x == $altura_original_y){ $altura_nova = 400; // altura nova $largura_nova = ($largura_original_x * $altura_nova) / $altura_original_y; // largura nova } $nova_imagem = imagecreatetruecolor($largura_nova,$altura_nova); imagecopyresampled($nova_imagem,$img,0,0,0,0,$largura_nova,$altura_nova,$largura_original_x,$altura_original_y); imagejpeg($nova_imagem,$pasta.$md5,100); imagedestroy($img); imagedestroy($nova_imagem); $txt_arquivo = "$md5"; print_r($txt_arquivo); } } //echo $txt_arquivo; ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17237
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Upload de mais de uma imagem por produto

15-06-2010 20:43

Bom que conseguiu :wink:
0
Criar site grátis Wix
Hospedagem de sites Hostgator
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum
:rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado