Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Igor FV

"DESAFIO!" - Inserir os nomes de cada foto no bd MYSQL..

Recommended Posts

Boa tarde amigos,

 

Estou lançando um "DESAFIO" para voçes!!!

 

 

O "desafio" é referente a um artigo que li com o titulo "Formulários e upload de múltiplos arquivos e fotos " no site Linha de Código, a url é: http://www.linhadecodigo.com.br/artigos.as...c=970&pag=1.

 

 

Existe a possibilidade gravar o nome de cada imagem junto com a extensão no MySql?, tipo cada nome com a extensão ficaria nos campos respectivos no bd MYSQL.

 

Tentei fazer, mas não consegui... Tipo teria que ser criado os campos na tabela automaticamente, quando fosse gerado o formulario com os campos para upload... foi ai que nao consegui.... Existe a possibilidade de fazer isso?

 

 

Estava pensando em limitar a quantidade de campos para upload.... tipo o usuario so pode gerar um form com no maximo de 20 campos para upload (20 imagens)... e ai eu criaria 20 campos no MYSQL (imagem1, imagem2, imagem3, ..., imagem20).... porém não sei como criar query para inserir os nomes das imagens em cada campo respectivamente.

 

Teria como vcs me ajudar amigo?

 

 

PAGINA FORM_CONTA.PHP (Pagina onde o usuario digita o numero de imagens que sera feito o upload para um diretorio definido).

 

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /><title>Untitled Document</title></head><body><form action="form_gera.php" method="post"><b>Envio das fotos</b><br />Qual a quantidade de imagens do Evento?<br /><br /><input type="text" name="quantidade" size="5"/><br /><input type="submit" value="OK"/></form></body></html>

 

PAGINA PROCESSA_FORM.PHP (Pagina que vai gerar os campos para fazer os uploads das fotos ou imagens).

 

<?php // Obtém quantidade enviada. Perceba que é verificado 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="processa_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>'; ?>

PAGINA PROCESSA_UPLOAD.PHP (Pagina que envia as fotos para o diretorio especificado no codigo)

 

<?php // Pasta de destino das fotos $Destino = 'upload/image_proc/'; // Obtém dados do upload $Fotos = $_FILES['fotos']; // Contagem de fotos enviadas $Conta = 0; // Itera sobre as enviadas e processa as validações e upload for($i = 0; $i < sizeof($Fotos); $i++) { 	// Passa valores da iteração atual 	$Nome	= $Fotos['name'][$i]; 	$Tamanho = $Fotos['size'][$i]; 	$Tipo	= $Fotos['type'][$i]; 	$Tmpname = $Fotos['tmp_name'][$i]; 	// Verifica se tem arquivo enviado 	if($Tamanho > 0 && strlen($Nome) > 1) 	{ 	   	// Verifica se é uma imagem 		if(preg_match('/^image\/(gif|jpeg|jpg|png)$/', $Tipo)) 		{ 			// Caminho completo de destino da foto 			$Caminho = $Destino . $Nome; 			// Tudo OK! Move o upload! 			if(move_uploaded_file($Tmpname, $Caminho)) 			{ 				echo 'Foto #' . ($i+1) . ' enviada.<br/>'; 				 				// Faz contagem de enviada com sucesso 				$Conta++; 			}			 			else // Erro no envio 			{ 				// $i+1 porque $i começa em zero 				echo 'Não foi possível enviar a foto #' . ($i+1) . '<br/>'; 			} 		} 	} } if($Conta) // Imagens foram enviadas, ok! { 	echo '<br/>Foi(am) enviada(s) ' . $Conta . ' foto(s).'; } else // Nenhuma imagem enviada, faz alguma ação { 	echo 'Você não enviou fotos!'; }?>

 

 

Vlw.. amigos... a aguardo sugestoes....

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.