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


Moderador: web

 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 43
Nome: Vinicius
Descrição do site: Hospedagem de sites
Localização: santa rosa de viterbo
Contato:

Salvar multiplos dados mysql

27-04-2010 13:01

Olá estou com uma função de upload de multiplos arquivos. e gostaria de salvar eles em mysql, mais ele só salva o primeiro upload os outros que eu seleciono nao salva, como faço olhe a função:


//Configuracao ------------------------------------------- // Pasta para onde vao $destino = "fotos/"; // Tamanho maximo (em kb) $MaxTam = 10000; // Extensoes permitidas $aExtensoes = array("jpg","jpeg"); //Dimensoes dos thumbs. Largura e Altura. $largura_final = 125; $altura_final = 93; //-------------------------------------------------------- $MaxTam = 1024 * $MaxTam; $_FILES['foto']['name'] = array_unique($_FILES['foto']['name']); $imagens_form = $_FILES['foto']; foreach ($imagens_form['name'] as $chave => $nome_foto) { if ($imagens_form['error'][$chave] == 0) { // Se possui uma extensão válida if (in_array(strtolower(substr($nome_foto, strrpos($nome_foto, ".") + 1)), $aExtensoes)) { // Informações do arquivo $nome = str_replace(" ", "_", $nome_foto); $tamanho = $imagens_form['size'][$chave]; $tmp = $imagens_form['tmp_name'][$chave]; $type = $imagens_form['type'][$chave]; // Se o arquivo existir if (!file_exists($destino.$nome)) { // Verificando o tamanho do arquivo if ($tamanho <= $MaxTam) { // faz de fato o upload, move para a pasta correta if (move_uploaded_file($tmp, $destino.$nome)) { //Trabalhando as imagens para criar thumb $tamanho = getimagesize($destino.$nome); //Tamanhos iniciais - valores pegos automaticamente $largura_fonte = $tamanho[0]; $altura_fonte = $tamanho[1]; //Nome para o thumb $nome_thumb = substr($nome,0,strpos($nome,"."))."_thumb".substr( $nome,strpos($nome,".")); $imagem_destino = imagecreatetruecolor($largura_final, $altura_final); $imagem_fonte = imagecreatefromjpeg($destino.$nome); imagecopyresampled($imagem_destino, $imagem_fonte, 0, 0, 0, 0, $largura_final, $altura_final, $largura_fonte, $altura_fonte); //Finaliza a criacao da nova imagem imagejpeg($imagem_destino, $destino.$nome_thumb, 60); echo "- Imagem (<b>".$nome."</b>) e thumb (<b>".$nome_thumb."</b>) enviados com sucesso!<br/>"; } else { echo "- Erro ao enviar a imagem <b>".$nome."</b><br />"; } } else { echo "- Imagem com tamanho superior ao permitido (".floor($MaxTam/1024)."kb) -> <b>".$nome."</b> possui <b>".floor($tamanho/1024)."kb</b><br />"; } } else { print "- Imagem já existente (<b>{$nome}</b>)<br />"; } } else { print "- Extensão inválida da imagem (<b>{$nome_foto}</b>)!<br />"; } } }

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

Salvar multiplos dados mysql

27-04-2010 13:04

Você pode colocar os nomes dos arquivos em um array, ai você junta tudo e adiciona como precisa.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 43
Nome: Vinicius
Descrição do site: Hospedagem de sites
Localização: santa rosa de viterbo
Contato:

Salvar multiplos dados mysql

27-04-2010 13:35

eu preciso separar, nome e nome_thumb como devo fazer isso..

usando:

$Array = array();
$Array[] = "".$nome."";
$Array[] = "".$nome_thumb."";
print_r($Array);

Array ( [0] => Chrysanthemum.jpg [1] => Chrysanthemum_thumb.jpg ) Array ( [0] => Jellyfish.jpg [1] => Jellyfish_thumb.jpg )

agora como eu separo os thumb e as normal?
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Salvar multiplos dados mysql

27-04-2010 14:27

Faz o seguinte, cria um array só para o nome, e outro só para o thumb.

Faz um for, em um deles, ai você vai pegar os índices em par.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 43
Nome: Vinicius
Descrição do site: Hospedagem de sites
Localização: santa rosa de viterbo
Contato:

Salvar multiplos dados mysql

27-04-2010 14:33

coloquei asim:

$Array = array();
$Array[1] = "".$nome."";
$Array[2] = "".$nome_thumb."";

depois de:

//Finaliza a criacao da nova imagem
imagejpeg($imagem_destino, $destino.$nome_thumb, 60);

se eu der um print ai mesmo ele mostra todos os upload certin.... ce eu for no final e der print ja nao mostra,, só mostra o primeiro..
e se eu colocar o insert em baixo de array[2] ele da varios insert.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Salvar multiplos dados mysql

27-04-2010 14:35

Como você fez o insert para capturar esses dados?
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 25 postagens
Mais de 25 postagens
Tópico Autor
Mensagens: 43
Nome: Vinicius
Descrição do site: Hospedagem de sites
Localização: santa rosa de viterbo
Contato:

Salvar multiplos dados mysql

27-04-2010 14:43

Código completo:

FORM.HTML

<input name="foto[]" type="file" class="multi"/> <input name="foto[]" type="file" class="multi"/> <input name="foto[]" type="file" class="multi"/> <input name="foto[]" type="file" class="multi"/> <input name="foto[]" type="file" class="multi"/>

RECEBE.PHP

<?php //Configuracao ------------------------------------------- // Pasta para onde vao $destino = "fotos/"; // Tamanho maximo (em kb) $MaxTam = 10000; // Extensoes permitidas $aExtensoes = array("jpg","jpeg"); //Dimensoes dos thumbs. Largura e Altura. $largura_final = 125; $altura_final = 93; //-------------------------------------------------------- $MaxTam = 1024 * $MaxTam; $_FILES['foto']['name'] = array_unique($_FILES['foto']['name']); $imagens_form = $_FILES['foto']; foreach ($imagens_form['name'] as $chave => $nome_foto) { if ($imagens_form['error'][$chave] == 0) { // Se possui uma extensao valida if (in_array(strtolower(substr($nome_foto, strrpos($nome_foto, ".") + 1)), $aExtensoes)) { // Informacoes do arquivo $nome = str_replace(" ", "_", $nome_foto); $tamanho = $imagens_form['size'][$chave]; $tmp = $imagens_form['tmp_name'][$chave]; $type = $imagens_form['type'][$chave]; // Se o arquivo existir if (!file_exists($destino.$nome)) { // Verificando o tamanho do arquivo if ($tamanho <= $MaxTam) { // faz de fato o upload, move para a pasta correta if (move_uploaded_file($tmp, $destino.$nome)) { //Trabalhando as imagens para criar thumb $tamanho = getimagesize($destino.$nome); //Tamanhos iniciais - valores pegos automaticamente $largura_fonte = $tamanho[0]; $altura_fonte = $tamanho[1]; //Nome para o thumb $nome_thumb = substr($nome,0,strpos($nome,"."))."_thumb".substr( $nome,strpos($nome,".")); $imagem_destino = imagecreatetruecolor($largura_final, $altura_final); $imagem_fonte = imagecreatefromjpeg($destino.$nome); imagecopyresampled($imagem_destino, $imagem_fonte, 0, 0, 0, 0, $largura_final, $altura_final, $largura_fonte, $altura_fonte); //Finaliza a criacao da nova imagem imagejpeg($imagem_destino, $destino.$nome_thumb, 60); // echo "- Imagem (<b>".$nome."</b>) e thumb (<b>".$nome_thumb."</b>) enviados com sucesso!<br/>"; $Array = array(); $Array[1] = "".$nome.""; $Array[2] = "".$nome_thumb.""; print "$Array[1]"."/"; print "$Array[2]"; } else { echo "- Erro ao enviar a imagem <b>".$nome."</b><br />"; } } else { echo "- Imagem com tamanho superior ao permitido (".floor($MaxTam/1024)."kb) -> <b>".$nome."</b> possui <b>".floor($tamanho/1024)."kb</b><br />"; } } else { print "- Imagem ja existente (<b>{$nome}</b>)<br />"; } } else { print "- Extensao invalida da imagem (<b>{$nome_foto}</b>)!<br />"; } } } ?>

Tipo ai elas pega todos os valores, do form tipow se upa todas ela mostra todos agora como eu coloco todos esses valores em uma tabela no mysql, tipo tabela asim:

image_grande,image_pequena

em image grande tem que fica asim: image1.png/image2.png/image3.png
e em pequena mesma coisa.... abraços!
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17666
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Salvar multiplos dados mysql

27-04-2010 15:01

Fiz um exemplo.

<?php $grande = Array(); $grande[] = "g1.gif"; $grande[] = "g2.gif"; $grande[] = "g3.gif"; $pequena = Array(); $pequena[] = "p1.gif"; $pequena[] = "p2.gif"; $pequena[] = "p3.gif"; for($i = 0; $i < count($grande); $i++) { echo $grande[$i]." e ".$pequena[$i]."<br>"; } ?>

É só você jogar os valores, que são os nomes das fotos no array $grande[] e $pequena[]
0
A melhor hospedagem para o seu site HostGator!

Quem está online

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