Jump to content


william_kii

Member Since 30/09/2008
Offline Last Active 21/12/2011, 16:46
-----

Topics I've Started

Galeria De Imagem Com Varios Albuns

05/12/2011, 14:39

Fala ae...

Sou iniciante no php e esse eh meu primeiro codigo. Meu objetivo é criar albuns dinâmicamente neste site:www.baladacarioca.net

Depois de muita pesquisa consegui criar o código para o upload das imagens, com, validação do tipo da imagem, verifica se ja existe na página, redimeniona a imagem, cria os thumbs, e insere logo.

Sendo que preciso criar os albuns dinâmicamente.. Preciso que ao criar o album crie uma página para fazer o upload das fotos e que crie uma pasta para cada album.

espero que alguem possa me ajudar.


Vou colocar o código do upload aqui:

Pg para cadastrar a imagem:

<!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=utf-8" />
<title>Untitled Document</title>
</head>

<body>
<form id="form1" name="form1" method="post" enctype="multipart/form-data" action="funcao_img.php">
 
  <input name="arquivo" type="file" id="textfield" size="70" />

  <input type="submit" name="enviar" id="enviar" value="enviar" />
</form>
<hr/>
<?php
include "connect_db.php";

$sql = mysql_query("SELECT * FROM bld_upload_img");
while($linha = mysql_fetch_array($sql)){
	$id = $linha['id'];
	$foto = $linha['foto'];

?>

<div style="width:198px; height:auto; float:left; margin:20px 0 0 5px;">
    <a href="imagens/albuns/<?php echo $foto ?>"><img src="imagens/albuns/thumbs/<?php echo $foto ?>" /></a>
    <a href="excluir.php?id=<?php echo $id?>">Excluir Imagem</a>
</div>



<?php
}
?>
</body>
</html>

---------------------------------------------------------

Página PHP para tratar a imagem:

<?php
if(is_file($_FILES['arquivo']['tmp_name'])){

	$erro = array();
	
	$img_file = $_FILES['arquivo'];
	
	$tmp = $_FILES['arquivo']['tmp_name'];// pega temporário
	$img_nome = $_FILES['arquivo']['name'];//pega nome
	
	$img_nome = str_replace(" ","_",$img_nome);
	$img_nome = str_replace("ã","a",$img_nome);
	$img_nome = str_replace("á","a",$img_nome);
	$img_nome = str_replace("à","a",$img_nome);
	$img_nome = str_replace("ê","e",$img_nome);
	$img_nome = str_replace("è","e",$img_nome);
	$img_nome = str_replace("é","e",$img_nome);
	$img_nome = str_replace("í","i",$img_nome);
	$img_nome = str_replace("ó","o",$img_nome);
	$img_nome = str_replace("õ","o",$img_nome);
	$img_nome = str_replace("ç","c",$img_nome);

	$img_nome = strtolower($img_nome);

	$img_tipo = $_FILES['arquivo']['type'];
	$img_size = $_FILES['arquivo']['size'];
	$diretorio = "imagens/albuns";
	
	$tamanho_max = "8388608";
	
	$pega_tamanho = getimagesize($tmp);
		
	//tamanho vertial
	$largura_vert = "490";
	
		
	//tamanho horizonta
	$largura_hori = "700";
	
	$count_img = count($img_nome);
	
	
	if(!eregi("image\/(jpg|jpeg|pjpeg)$", $img_tipo)){
		echo "
		<META HTTP-EQUIV=REFRESH CONTENT='0; URL=cadastrar_foto.php'>
		<script type=\"text/javascript\">
		alert(\"Formato do arquivo inválido. Insira uma imagem de formato : JPG, PNG , GIF\");
		</script>
		";
		$erro[] = "Formato do arquivo inválido. Insira uma imagem de formato : JPG, PNG , GIF";
		
	}else{ 
	
	if(file_exists("imagens/albuns/$img_nome"))
		
		{
		echo "
		<META HTTP-EQUIV=REFRESH CONTENT='0; URL=cadastrar_foto.php'>
		<script type=\"text/javascript\">
		alert(\"Arquivo existe\");
		</script>
		";
		$erro[] = "Arquivo existe";
		
	}
	
	if($img_size > $tamanho_max )
		
		{
		echo "
		<META HTTP-EQUIV=REFRESH CONTENT='0; URL=cadastrar_foto.php'>
		<script type=\"text/javascript\">
		alert(\"Arquivo ultrapassou 8mb\");
		</script>
		";
		  
	}
	
}
    if(sizeof($erro))
	{
		echo "
		<META HTTP-EQUIV=REFRESH CONTENT='0; URL=cadastrar_foto.php'>
		<script type=\"text/javascript\">
		alert(\"VOltar a pgde upload\");
		</script>
		";
	
	}else{
		

		
		if($pega_tamanho[0] > $pega_tamanho[1]) // verifica se a imagem é horizontal
		
		{
				
                $img = imagecreatefromjpeg($tmp);
                $x   = imagesx($img);
                $y   = imagesy($img);
                $altura = ($largura_hori * $y)/$x;
                $nova = imagecreatetruecolor($largura_hori, $altura);
                imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura_hori, $altura, $x, $y);
				imagedestroy($img);
				
				$logo = imagecreatefrompng('imagens/logo-galeria.png');
				$logox = imagesx($logo);
				$logoy = imagesy($logo);
				$localx = $largura_hori-200;
				$localy = $altura-112;
				imagecopyresampled($nova,$logo,10,$localy,0,0,190,110,$logox, $logoy);
				
				imagejpeg($nova, "$diretorio/$img_nome",90);
                
				imagedestroy($nova);
				
				// CRIANDO THUMBS
				$img_mini = imagecreatefromjpeg($tmp);
                $x_mini   = imagesx($img_mini);
                $y_mini   = imagesy($img_mini);
                $altura_mini = (198 * $y_mini)/$x_mini;
                $nova_mini = imagecreatetruecolor(198, $altura_mini);
                imagecopyresampled($nova_mini, $img_mini, 0, 0, 0, 0, 198, $altura_mini, $x_mini, $y_mini);
				
				imagejpeg($nova_mini, "imagens/albuns/thumbs/$img_nome",90);
				
				imagedestroy($img_mini);
                imagedestroy($nova_mini);
				
				include "connect_db.php";
				$sql = mysql_query("INSERT INTO bld_upload_img (foto) value ('$img_nome')");
				header("Location: cadastrar_foto.php");
				
	}if($pega_tamanho[1] > $pega_tamanho[0]) 
		
		{
                $img = imagecreatefromjpeg($tmp);
                $x   = imagesx($img);
                $y   = imagesy($img);
                $altura = ($largura_vert * $y)/$x;
                $nova = imagecreatetruecolor($largura_vert, $altura);
                imagecopyresampled($nova, $img, 0, 0, 0, 0, $largura_vert, $altura, $x, $y);
				imagedestroy($img);
				
				$logo = imagecreatefrompng('imagens/logo-galeria.png');
				$logox = imagesx($logo);
				$logoy = imagesy($logo);
				$localx = $largura_hori-200;
				$localy = $altura-112;
				imagecopyresampled($nova,$logo,10,$localy,0,0,190,110,$logox, $logoy);
				
				imagejpeg($nova, "$diretorio/$img_nome",90);
                
				imagedestroy($nova);
				
				// CRIANDO THUMBS
				$img_mini = imagecreatefromjpeg($tmp);
                $x_mini   = imagesx($img_mini);
                $y_mini   = imagesy($img_mini);
                $altura_mini = (198 * $y_mini)/$x_mini;
                $nova_mini = imagecreatetruecolor(198, 131);
                imagecopyresampled($nova_mini, $img_mini, 0, 0, 0, 0, 198, $altura_mini, $x_mini, $y_mini);
				//imagecopy($nova_mini, $img_mini, 0, 0, 198, 131, $x_mini, $y_mini);
				
				imagejpeg($nova_mini, "imagens/albuns/thumbs/$img_nome",90);
				
				imagedestroy($img_mini);
                imagedestroy($nova_mini);
				
				include "connect_db.php";
				$sql = mysql_query("INSERT INTO bld_upload_img (foto) value ('$img_nome')");
				header("Location: cadastrar_foto.php");
		}
	 	
	}


}else{
	header("Location:cadastrar_foto.php");
	}

			


?>

IPB Skin By Virteq