Ao enviar uma imagem, é gerado um thumb com tamanho que pode ser definido nas config do script.
O thumb apresenta o mesmo nome da imagem, porém com o acréscimo de _thumb.
Resolvi postar nesta seção, pois grande parte do código está comentado, e também para o pessoal poder tirar quaisquer eventuais dúvidas.
Não é nada demais eu sei (recém comecei a trabalhar com manipulação de imagens), mas como muita gente no fórum pergunta sobre isso, é uma forma de ajudar.
Segue o código:
<form enctype="multipart/form-data" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="file" name="foto[]" /><br />
<input type="file" name="foto[]" /><br />
<input type="file" name="foto[]" /><br />
<input type="file" name="foto[]" /><br />
<input type="file" name="foto[]" /><br />
<input type="submit" name="submit_files" value="Enviar" />
</form>
<?php
if (@$_POST['submit_files'])
{
//Configuracao -------------------------------------------
// Pasta para onde vao
$destino = "fotos_registros/"; 
// Tamanho maximo (em kb)
$MaxTam = 90; 
// 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 />";
	   }
   }
}
}
?>Abraços!
Edição feita por: Firehalk, 04/03/2008, 18:42.










