Ir para conteúdo

Arquivado

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

x_confused

Upload ilimitado

Recommended Posts

boa tarde pessoal, estou criando um sisteminha de imóveis q faz o upload de imagens e as exibi para o usuário da internet ... pra testar criei um sistema q faz o upload de 3 imagens que ficou assim:

 

//UPLOAD IMAGEM 1if ( (isset($_FILES['imagem']['name']) && is_uploaded_file($_FILES['imagem']['tmp_name']))) {	if (empty($imovel))	$imovel = mysql_insert_id();	  $type = basename($_FILES['imagem']['type']);  switch ($type)   {	case 'jpeg':	case 'pjpeg':   $filename = "pictures/$imovel.jpg";					copy($_FILES['imagem']['tmp_name'], 					 $filename);										break;	default:		print 'O formato da figura é inválido: '.						  $_FILES['imagem']['type'];  }    //CRIANDO THUMBNAIL  criar_thumbnail($filename, 155, 'thumb', './thumbs/');  $thumb = "thumbs/"."thumb"."$imovel.jpg";  $sql_thumb = "update imob_imovel							set thumb = '$thumb'							where id = $imovel";   $result_thumb = mysql_query($sql_thumb, $conn);    //CRIANDO IMAGEM NORMAL	  criar_thumbnail($filename, 300, 'norm', './pictures/');  $imagem = "pictures/"."norm"."$imovel.jpg";  $sql_norm = "update imob_imovel							set imagem = '$imagem'							where id = $imovel";   $result_norm = mysql_query($sql_norm, $conn);    //EXCLUINDO DO DIRETORIO IMAGEM UPLOADED  unlink($filename);  }//UPLOAD IMAGEM 2if ( (isset($_FILES['imagem2']['name']) && is_uploaded_file($_FILES['imagem2']['tmp_name']))) {  if (empty($imovel))  	$imovel = mysql_insert_id();	  $type = basename($_FILES['imagem2']['type']);  switch ($type)   {	case 'jpeg':	case 'pjpeg':   $filename2 = "pictures/$imovel"."_2".".jpg";					copy($_FILES['imagem2']['tmp_name'], 					 $filename2);										break;	default:		print 'O formato da figura é inválido: '.						  $_FILES['imagem2']['type'];  }    //CRIANDO THUMBNAIL  criar_thumbnail($filename2, 155, 'thumb', './thumbs/');  $thumb2 = "thumbs/"."thumb"."$imovel"."_2".".jpg";  $sql_thumb2 = "update imob_imovel							set thumb2 = '$thumb2' 							where id = $imovel";   $result_thumb2 = mysql_query($sql_thumb2, $conn);    //CRIANDO IMAGEM NORMAL	  criar_thumbnail($filename2, 300, 'norm', './pictures/');  $imagem2 = "pictures/"."norm"."$imovel"."_2".".jpg";  $sql_norm2 = "update imob_imovel							set imagem2 = '$imagem2'							where id = $imovel";   $result_norm2 = mysql_query($sql_norm2, $conn);    //EXCLUINDO DO DIRETORIO IMAGEM UPLOADED  unlink($filename2);}//UPLOAD IMAGEM 3if ( (isset($_FILES['imagem3']['name']) && is_uploaded_file($_FILES['imagem3']['tmp_name']))) {  if (empty($imovel))	$imovel = mysql_insert_id(); 	$type = basename($_FILES['imagem3']['type']);  switch ($type)   {	case 'jpeg':	case 'pjpeg':   $filename3 = "pictures/$imovel"."_3".".jpg";					copy($_FILES['imagem3']['tmp_name'], 					 $filename3);										break;	default:		print 'O formato da figura é inválido: '.						  $_FILES['imagem3']['type'];  }    criar_thumbnail($filename3, 155, 'thumb', './thumbs/');  $thumbname3 = "thumbs/"."thumb"."$imovel"."_3".".jpg";  $sql3 = "update imob_imovel							set thumb3 = '$thumbname3' 							where id = $imovel";   $result3 = mysql_query($sql3, $conn);   //CRIANDO IMAGEM NORMAL	  criar_thumbnail($filename3, 300, 'norm', './pictures/');  $imagem3 = "pictures/"."norm"."$imovel"."_3".".jpg";  $sql_norm3 = "update imob_imovel							set imagem3 = '$imagem3'							where id = $imovel";   $result_norm3 = mysql_query($sql_norm3, $conn);    //EXCLUINDO DO DIRETORIO IMAGEM UPLOADED  unlink($filename3);}

Mas eu gostaria de criar um modo onde por exemplo, de o administrador do sistema enviar quantas fotos ele quiser para o site. Talvez primeiro ele selecione todas as fotos e as envie de uma só vez, ou criar um campo imagem onde o administrador vai inserindo quantas fotos ele desejar (tipo ele clicar em "enviar foto", depois volta p/ mesma tela e ele clica de novo em "enviar foto" e assim sucessivamente)

Se alguém puder me ajudar eu agradeço muito!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma tablea apenas de fotos e crie um relacionamento entre a tabela de imóveis e a de fotos.Por ex.:id - identificador do registroid_imovel - relacionamento com o ID da tabela de imóveisfoto - caminho da fotoEra essa sua dúvida?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Uma sugestão seria:

 

<?php /* Verificação para fazer o(s) upload(s)*///Sem o limite de tempo do timeout();set_time_limit(0);//Diretório para aonde deve ir os arquivos$caminho_dos_arquivos = "/home/usuario/public_html/Imagens_imoveis";for($i=1; $i<=7; $i++) /* Onde 7 seria o nº de campo do tipo file, você pode alterar à sua necessidade ou criar uma variavel para ele */{//pega os nomes dos campos files (prefixo + numero crescente) $id_arquivo = "arquivo".$i; $nome_arquivo = $_FILES[$id_arquivo]["name"]; $arqv_temporario = $_FILES[$id_arquivo]["tmp_name"];// faz o upload dos arquivosif(move_uploaded_file($arqv_temporario, "$caminho_dos_arquivos/$nome_arquivo"))  {  echo "O envio <b>$nome_arquivo</b> foi concluido com sucesso<BR>";  } else {  echo "Erro ao enviar o arquivo<b>$nome_arquivo</b> ou o campo estava vazio!<BR>";  } }?>

Abraço

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa x_confused... Tudo bem...

 

 

Seguinte, ao invés de criar outra tabela insira no quantas imagens você quiser usando a função SEREALIZE()...

 

Na página que o Admin irá fazer o Cadastro de novos imóveis você solicita a ele uma número de imagens

que este gostaria de fazer uplaod...

 

 

Primero passo para gerar os campos...

<form action="Gera_Campos.php" method="POST"><b>Envio das fotos</b><br />Qual a quantidade de imagens do Evento?<br /><br /><input type="text" name="fotos" size="5"/><br /><br /><input type="submit" value="OK"/></form>

Na página Gera_Campos o Admin terá:

 

Os campos de preencimento + o número de campos informados por ele pra cadastrar imagens... Ok...

 

// Colocamos como padrão 5 Imagens$fotos = (isset($_POST['fotos']) && is_int(intval($_POST['fotos']))) ? $_POST['fotos'] : 5;// Abre formulário de uploadecho '<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 pedidafor($i = 1; $i <= $fotos; ++ $i){	echo 'Foto ' . $i . ': <input type="file" name="fotos[]" /><br/>';}// Fecha formulárioecho '<br /><input type="submit" value="OK"/>';echo '</form>';
Tudo bem até aqui...

 

Seguinto...

 

 

Upload.php

<?php// Pasta de destino das fotos$Destino = 'fotos/';// Obtém dados do upload$Fotos = $_FILES['fotos'];// Contagem de fotos enviadas$Conta = 0;// Itera sobre as enviadas e processa as validações e uploadfor($i = 0; $i < sizeof($Fotos); ++ $i){	// Passa valores da iteração atual	$Nome		 = $Fotos['name'][$i];	$Tamanho	= $Fotos['size'][$i];	$Tipo		   = $Fotos['type'][$i];	$Nome_Tmp = $Fotos['tmp_name'][$i];		// Retiro todos os Sinais Gráficos e Espaços	$Name = $Nome;	$Name = ereg_replace('[áàâãª]','a',$Name);	$Name = ereg_replace('[ÁÀÂÃ]','A',$Name);	$Name = ereg_replace('[éèê]','e',$Name);	$Name = ereg_replace('[ÉÈÊ]','E',$Name);	$Name = ereg_replace('[óòôõº]','o',$Name);	$Name = ereg_replace('[ÓÒÔÕ]','O',$Name);	$Name = ereg_replace('[úùû]','u',$Name);	$Name = ereg_replace('[ÚÙÛ]','U',$Name);	$Name = str_replace('ç','c',$Name);	$Name = str_replace('Ç','C',$Name);	$Name = ereg_replace(' ','_',$Name); 	$Name = ereg_replace('-','_',$Name); 	$Nome_Img = $Name;	// 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_Img;			// Tudo OK! Move o upload!			if(move_uploaded_file($Nome_Tmp, $Caminho))			{				echo 'Foto '. $Nome_Img .' enviada.<br/>';								// Faz contagem de enviada com sucesso				  $Conta ++;				$Lista[$Conta] = $Nome_Img;				$Serialize = serialize($Lista);								// Aqui você grava no BD				$rsInsert = mysql_query('INSER INTO notícias VALUES(camposNome, '.$Serealize.')');			}						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/><br/><br/>';	echo 'Foram enviadas ' . $Conta . ' fotos.';	echo '<br/><br/>';		// Listo as Imagens 	$Un_Serialize = unserialize($Serialize);	// Listo as Imagens Aleatóriamente	shuffle($Un_Serialize);	for ($Img = 0; $Img < 1; $Img ++)	{		echo $Un_Serialize[$Img];	}

Aqui é só pra mostrar ao Admin quais imagens foram levadas para a pasta

 

Como pra você puxar elas nas pánginas

 

 

// Listo as Imagens como foram Postadas	foreach($Un_Serialize as $List)	{		// echo $Un_Serialize;		echo $List .'<br />';	}	*/	echo '<br/><br/>';}else // Nenhuma imagem enviada, faz alguma ação{	echo 'Você não enviou fotos!';}?>
Quarquer coisa retorne...

 

T+

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.