Ir para conteúdo

POWERED BY:

Arquivado

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

G-Gordo

Galeria de fotos dinamicas em Ajax

Recommended Posts

Bem eu tenho uma galeria que é feita em ajax,pxp e mysql e ela esta funcionando tranquilamente neste link a alteração que desejo fazer mais não estou conseguindo é na parte de administração da galeria,por que na administração da galeria,por que ela so reconhece fotos se forem colocadas em uma pasta só ex: www.meusite.com/galeria/galerias/meuevento, e eu queria que ela reconhece-se pastas dentro da pasta meuevento pra eu poder separar eventos por data,ao inves de fica criando varias pastas do mesmo evento com datas diferentes,eu queria fazer uma pasta só e dentro da pasta outras pastas nomeadas de em datas e dentro das mesmas as fotos ex: meuevento/01_02_03/todas fotos.jpg,meuevento/10_02_03/todas fotos.jpg e assim por diante,mais ja tentei mudar os arquivos que controlam a parte do diretorio da galeria e nada,se alguem puder me ajudar ficaria muito grato,eu deixarei o arquivo inteiro da galeria para download se alguem quiser me ajudar

 

download da Galeria

 

Admin da Galeria de teste

 

se for me ajudar o login da admin de teste é,login = admin senha =admin123

 

logo abaixo tambem deixo o codigo fonte dos arquivos que falei,se alguem baixar a galeria esses arquivos(ajax.php e dir.php) ficam dentro da pasta "include" dentro da galeria,então de antemão um muito obrigado a todos aqui do forum e um abração ^^

 

ajax.php

<?
header("Content-type: text/html; charset=iso-8859-1");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
header("Pragma: no-cache");

//matriz, resolvo tudo aqui de ajax...

include("conexao.php");
include("biblioteca.php");

$JSON = new json();

if($_GET["pasta"]){

	$evento = "galerias/".$_GET["pasta"]."/";

	$dirr = opendir("../".$evento);

	$fotos = array();

	while($a = readdir($dirr)) {
		$b = explode(".", $a);
		if($b[1] == "jpg" || $b[1] == "jpge" || $b[1] == "JPG" || $b[1] == "JPGE"){
			array_push($fotos, $a);
		}
	}

	$total = count($fotos);

	$qtd = 15;
	$pagin = $_GET["pg"]*$qtd;
	if(($para = $qtd+$pagin) > $total) $para = $total;

	$ant = $_GET["pg"]-1;
	$prox = $_GET["pg"]+1;
	$paginas = $prox*$qtd;

	echo '<div id="thumbs">';
	$a = 0;
	for($i=$pagin;$i<$para;$i++){
		echo '';
		echo '<a href="#" title="ABRIR A FOTO"><img id="'.$a.'" src="include/mini.php?img=../'.$evento.''.$fotos[$i].'&width=60&height=45" border="0" title="'.$evento.''.$fotos[$i].'" onclick="ajax.exibe(\''.$evento."".$fotos[$i].'\', this);" /></a>';
		echo '';
		echo ' ';
		if(($a%3) == 2) echo '<br />';
		$a++;
	}
	$paginacao = $total/$qtd;
	echo '</div><div id="navnum"><ul>';
		$a = 1;
		for($i=0;$i<$paginacao;$i++) {
			echo '<li>
			<a href="java script:void(0);" onclick="ajax.album(\''.$_GET["pasta"].'\', \''.$i.'\')">';
			if(strlen($a)==1) {
				echo "0".$a; 
			}else{
				echo $a;
			}
			echo '</a></li>';
			if($a == 10 || $a == 20 || $a == 30 || $a == 40 || $a == 50 || $a == 60 || $a == 70) echo '<ul>';
			$a++;
		}
	echo '</ul></div><input type="hidden" id="TotalDeFotos" value="'.$total.'" />';

}

if($_GET["cadastro"] == 1) {

	if($_POST["id"] == "") {
		
		$sql = mysql_query("INSERT INTO evento VALUES (NULL, '".$_POST['data']."', 
							'".$_POST['evento']."', '".$_POST['dir']."', '".$_POST['foto']."');");
		
		if(mysql_insert_id() > 0) echo 'GRAVADA COM SUCESSO! '; else echo 'ERRO, TENTE NOVAMENTE';
	
	}else{
	
		$sql = mysql_query("UPDATE evento SET data = '".$_POST["data"]."', 
						   evento = '".$_POST["evento"]."', pasta = '".$_POST["dir"]."',
						   foto = '".$_POST['foto']."' WHERE idevento = ".$_POST["id"]."");
							
		if($sql) echo 'ALTERADO COM SUCESSO!'; else echo 'ERRO, TENTE NOVAMENTE';
	
	}

}

if($_GET["lista"] == 1) {

	$sql = mysql_query("SELECT * FROM evento ORDER BY ".$_GET['campo']." ".$_GET['tipo']."");
	
	echo '<table width="100%" border="0" cellspacing="0" cellpadding="0" id="tabelaLista">
			  <tr>
				<th width="5%">Editar</th>
				<th width="5%">Excluir</th>
				<th width="5%">Data</th>
				<th width="1%"><a href="java script:void(0);" onclick="ajax.listaGaleria(\'data\', \'ASC\')"><img src="../img/setaup.gif" title="ORDENAR ASCENDENTE" border="0" /></a></th>
				<th width="1%"><a href="java script:void(0);" onclick="ajax.listaGaleria(\'data\', \'DESC\')"><img src="../img/setadown.gif" title="ORDENAR DESCENDENTE" border="0" /></a></th>
				<th width="20%">Evento</th>
				<th width="1%"><a href="java script:void(0);" onclick="ajax.listaGaleria(\'evento\', \'ASC\')"><img src="../img/setaup.gif" title="ORDENAR ASCENDENTE" border="0" /></a></td>
				<th width="1%"><a href="java script:void(0);" onclick="ajax.listaGaleria(\'evento\', \'DESC\')"><img src="../img/setadown.gif" title="ORDENAR DESCENDENTE" border="0" /></a></th>
				<th width="20%">Pasta</th>
				<th width="1%"><a href="java script:void(0);" onclick="ajax.listaGaleria(\'pasta\', \'ASC\')"><img src="../img/setaup.gif" title="ORDENAR ASCENDENTE" border="0" /></a></th>
				<th width="1%"><a href="java script:void(0);" onclick="ajax.listaGaleria(\'pasta\', \'DESC\')"><img src="../img/setadown.gif" title="ORDENAR DESCENDENTE" border="0" /></a></th>
				<th width="37%" class="center">Foto Principal </th>
				<th width="1%"><a href="java script:void(0);" title="Aumentar a foto"><img src="../img/mais.gif" border="0" onclick="anime.zoomFoto(\'+\')" /></a></th>
				<th width="1%"><a href="java script:void(0);" title="Diminuir a foto"><img src="../img/menos.gif" border="0" onclick="anime.zoomFoto(\'-\')" /></a></th>
			  </tr>';
	
	while($s = mysql_fetch_array($sql)){
		echo '<tr>
				<td class="center"><a href="java script:void(0);" title="EDITAR" onclick="ajax.editaGaleria(\''.$s[0].'\')"><img src="../img/editar.gif" border="0" /></a></td>
				<td class="center"><a href="java script:void(0);" title="EXCLUIR" onclick="ajax.deletaGaleria(\''.$s[0].'\')"><img src="../img/excluir.gif" border="0" /></a></td>
				<td colspan="3">'.strtoupper($s[1]).'</td>
				<td colspan="3">'.strtoupper($s[2]).'</td>
				<td colspan="3">'.strtoupper($s[3]).'</td>
				<td colspan="3" class="center" id="miniaturas"><img src="../include/mini.php?img=../galerias/'.$s[3]."/".$s[4].'&width=180&height=135" width="60" height="45" /></td>
			   </tr>';
	
	}
	echo '</table>';

}

if($_GET["deleta"] == 1) {

	$sql = mysql_query("DELETE FROM evento WHERE idevento = '".$_GET["id"]."'");
	
	if($sql) echo 'DELETADO COM SUCESSO!'; else echo 'ERRO, TENTE NOVAMENTE';

}

if($_GET["edita"] == 1) {

	$sql = mysql_query("SELECT * FROM evento WHERE idevento = '".$_GET["id"]."'");
	
	$result = mysql_fetch_array($sql);
	
	echo $JSON->encode($result);

}
?>

dir.php

<?

if($_GET["pasta"]) {

	$eventos = "galerias/";

	$dirr = opendir("../".$eventos);
	
	while($a = readdir($dirr)) {
		if($a == $_GET["pasta"]) {
			$c = 1;
			break;
		}else{
			$c = 0;
		}
	}
	
	echo $c;
		
}	

if($_GET["imagens"]) {

	$evento = "galerias/".$_GET["dir"]."/";

	$dirr = opendir("../".$evento);

	$fotos = array();
	
	echo '<ul id="listagem">
			<li><a href="#" onclick="ajax.fechaLista()">fechar</a></li>';
	
	while($a = readdir($dirr)) {
		$b = explode(".", $a);
		if($b[1] == "jpg" || $b[1] == "jpge" || $b[1] == "JPG" || $b[1] == "JPGE"){
			echo '<li><a href="java script:void(0);" onclick="ajax.completaCampo(\''.$b[0].'.'.$b[1].'\')" title="'.$b[0].'.'.$b[1].'">'.$b[0].'</a></li>';
		}
	}
	echo '</ul>';

}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

você deve alterar esta parte do seu sistema

 

na dir.php

while($a = readdir($dirr)) {

if($a == $_GET["pasta"]) {

$c = 1;

break;

}else{

$c = 0;

}

}

 

e alterar tambem na parte do cadastro da galeria e upload e bem simples.

 

você deve alterar esta parte do seu sistema

 

na dir.php

while($a = readdir($dirr)) {

if($a == $_GET["pasta"]) {

$c = 1;

break;

}else{

$c = 0;

}

}

 

e alterar tambem na parte do cadastro da galeria e upload e bem simples.

Compartilhar este post


Link para o post
Compartilhar em outros sites

gapaiva44 eu colco esse codigo que você me passo em que parte do arquivo dir.php ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tentei instalar a galeria e to com o mesmo problema....

 

Além disso, as fotos no IE quando clicadas nas miniaturas não abrem no espaço determinado, elas teimam em abrir menor em largura deixando a foto um pouco estranho...

Como corrigir isso???

 

Obrigadooooo

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tenho a solução para o problema (enviado para o usuário pelo site dele)

 

Basicamente se dá na alteração deste javascript

ajax.js

listaImagens : function(pastas){

	listaFotos = document.getElementById('listaFotos');
	listaFotos.style.display = 'block';

	if(pastas !== null) {
		xmlhttp.open('GET', '../include/dir.php?imagens=1&dir='+pastas, true);
		xmlhttp.onreadystatechange = function(){
			if(xmlhttp.readyState == 1) {
				listaFotos.innerHTML = "carregando...";
			}
			if(xmlhttp.readyState == 4){
				if(xmlhttp.status == 200) {
					listaFotos.innerHTML = xmlhttp.responseText;				
				}
			}
		}
		xmlhttp.send(null);
	}else{

		alert("Pasta Invalida!");

	}

},

 

e do campo da index administrativa

 

<a href='javascript:void(0);' onclick='ajax.listaImagens($("#dir").val());'>

 

usei jquery mas poderia ser assim

 

<a href='javascript:void(0);' onclick='ajax.listaImagens(document.getelementbyid("dir").value());'>

 

A alteração no dir.php que o amigo la encima se referiu é

 

if($_GET["pasta"]) {
$pasta="../galerias/".$_GET["pasta"];
$diretorio=opendir($pasta);

while ($arquivo=readdir($diretorio)) {
	if (is_dir($pasta."/".$arquivo)) {
		$c = 1;
		break;
	} else {
		$c = 0;
	}
}
echo $c;
closedir($diretorio);
}

 

experimente estas alterações e se funcionar por favor atualize o poste com a solução, não esqueça dos créditos

 

A detalhe no campo diretório você deverá preenher por completo

ex: michelin/01_02_03

 

TBM gostaria de pedir permissão para usar seu script em meu site, claro que com as devida alterações.

Pretendo retirar essa parte de criar a galeria, de forma que ela seja gerada automaticamente ao encontrar o diretório de fotos

 

espero ter ajudado, sem mais

 

Diego Canton de Brito

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.