Ir para conteúdo

POWERED BY:

Arquivado

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

Wagner Martins - SC

Upload de multiplas fotos com thumbnail

Recommended Posts

enviar.php

<form id="form" method="post" action="uploadImage.php" enctype="multipart/form-data" accept-charset="utf-8">
  <table width="100%">
	<tr>
	  <td width="30%"><p>Foto:
		<input type="file" name="foto1" id="foto1" />
	  </p>
		<p>Foto:
		  <input type="file" name="foto2" id="foto2" />
		</p>
		<p>Foto:
		  <input type="file" name="foto3" id="foto3" />
		</p>
		<p>Foto:
		  <input type="file" name="foto4" id="foto4" />
		</p>
		<p>Foto:
		  <input type="file" name="foto5" id="foto5" />
		</p></td>
	  <td width="70%"><p>Foto:
		<input type="file" name="foto6" id="foto6" />
	  </p>
		<p>Foto:
		  <input type="file" name="foto7" id="foto7" />
		</p>
		<p>Foto:
		  <input type="file" name="foto8" id="foto8" />
		</p>
		<p>Foto:
		  <input type="file" name="foto9" id="foto9" />
		</p>
		<p>Foto:
		  <input type="file" name="foto10" id="foto10" />
		</p></td>
	</tr>
  </table>
  <div id="botao">
		  <input id="enviar" type="submit" name="Enviar" value="Enviar" tabindex="6" class="botao"/>
	  </div>
	</form>

 

uploadImage.php

<?php
require_once ("functionsUpload.php");
set_time_limit(0);	//Elimita o limite de tempo do php_timeout();

for($i=1; $i<=10; $i++)
{

//pega os nomes dos campos files (prefixo + numero crescente)

$id_arquivo = "foto".$i;
$arqv_temporario = $_FILES[$id_arquivo]["tmp_name"];

// faz o upload dos arquivos

$arquivo = isset($_FILES["foto".$i]) ? $_FILES["foto".$i] : FALSE;
$max_image_x = 402;
$max_image_y = 331;
$diretorio = '/sua_pasta_no_servidor/';
if($arquivo)
{
	$tamanho = getimagesize($arqv_temporario);
	ini_set ("max_execution_time", 3600); // uma hora
	$err = FALSE;
	if(is_uploaded_file($arqv_temporario))
	{
		if(verifica_image($arquivo))
		{
			$tamanho = getimagesize($arqv_temporario);
			$dimensiona = verifica_dimensao_image($arquivo, $max_image_x, $max_image_y);
			if($dimensiona != '')
			{
				if($dimensiona == 'altura')
				{
						$auxImage = $max_image_x;
						$max_image_x = $max_image_y;
						$max_image_y = $auxImage;
				}
			}
			else
			{
				$max_image_x = $tamanho[0];
				$max_image_y = $tamanho[1];
			}
 			$nome_foto  = ('imagem_crop_' . md5(microtime()) . '.' . verifica_extensao_image($arquivo));// nome único para foto
			$endFoto = $diretorio . $nome_foto;
			if(reduz_imagem($arqv_temporario, $max_image_x, $max_image_y, $endFoto))
			{
				$err = TRUE;
			}
		}
	}
}






$arquivo2 = isset($_FILES["foto".$i]) ? $_FILES["foto".$i] : FALSE;
$max_image_x2 = 100;
$max_image_y2 = 75;
$diretorio2 = '/sua_pasta_no_servidor/';
if($arquivo2)
{
	$tamanho2 = getimagesize($arqv_temporario);
	ini_set ("max_execution_time", 3600); // uma hora
	$err2 = FALSE;
	if(is_uploaded_file($arqv_temporario))
	{
		if(verifica_image($arquivo2))
		{
			$tamanho2 = getimagesize($arqv_temporario);
			$dimensiona2 = verifica_dimensao_image($arquivo2, $max_image_x2, $max_image_y2);
			if($dimensiona2 != '')
			{
				if($dimensiona2 == 'altura')
				{
						$auxImage2 = $max_image_x2;
						$max_image_x2 = $max_image_y2;
						$max_image_y2 = $auxImage2;
				}
			}
			else
			{
				$max_image_x2 = $tamanho2[0];
				$max_image_y2 = $tamanho2[1];
			}
			$nome_foto2  = ('menor_' . time() . '.' . verifica_extensao_image($arquivo2));// nome único para foto
			$endFoto2 = $diretorio2 . $nome_foto2;
			if(reduz_imagem($arqv_temporario, $max_image_x2, $max_image_y2, $endFoto2))
			{
				$err2 = TRUE;
			}
		}
	}
}



{
echo "<img src=fotos/$nome_foto /><img src=fotos/$nome_foto2 /> <br /> nome_foto: $nome_foto <br />arqv_temporario: $arqv_temporario <br />arquivo:". $arquivo." <br />id_arquivo: $id_arquivo <br /><br />

";
}
}
?>

 

 

 

functionsUpload.php

<?php

	function verifica_dimensao_image($img, $max_x, $max_y)
	{
		$dimensaoImage = getimagesize($img["tmp_name"]);
		$dimensao = '';
		// Verifica largura
		if($dimensaoImage[0] > $dimensaoImage[1])
		{
			if($dimensaoImage[0] > $max_x)
			{
				$dimensao = 'largura';
			}
		}
		else
		{
			if($dimensaoImage[0] < $dimensaoImage[1])
			{
				if($dimensaoImage[1] > $max_x)
				{
					$dimensao = 'altura';
				}
			}
			else
			{
				if($dimensaoImage[0] == $dimensaoImage[1])
				{
					if($dimensaoImage[0] > $max_x)
					{
						$dimensao = 'largura';
					}
				}
			}
		}
		return ($dimensao);		
	}//fim verifica_dimensao_image
	
	function reduz_imagem($img, $max_x, $max_y, $nome_foto) 
	{
		//pega o tamanho da imagem ($original_x, $original_y)
		list($width, $height) = getimagesize($img);
		$original_x = $width;
		$original_y = $height;
		// se a largura for maior que altura
		if($original_x > $original_y) {
			   $porcentagem = (100 * $max_x) / $original_x;	  
		} 
		else {
			   $porcentagem = (100 * $max_y) / $original_y;
		}
		$tamanho_x = $original_x * ($porcentagem / 100);
		$tamanho_y = $original_y * ($porcentagem / 100);
		$image_p = imagecreatetruecolor($tamanho_x, $tamanho_y);
		$image   = imagecreatefromjpeg($img);
		imagecopyresampled($image_p, $image, 0, 0, 0, 0, $tamanho_x, $tamanho_y, $width, $height);
		return imagejpeg($image_p, $nome_foto, 100);
	}//fim reduz_imagem
	
	function verifica_image($img)
	{
		// Verifica se o mime-type do arquivo é de imagem
		if(eregi("^image\/(pjpeg|jpeg|png|gif|bmp)$", $img["type"]))
		{
			return (TRUE);
		}
		return (FALSE);
	}// fim verifica_image
	
	function verifica_extensao_image($img)
	{
		// Pega extensão do arquivo
		preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $img["name"], $ext);
		return ($ext[1]);
	}//fim verifica_extensao_imag
	
	
?>

Espero que aproveitem

 

Valeu http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

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.