Weblogs Código

RecorteX

73 usuarios y 243 recortes de código
Usuario

Contraseña
Crear cuenta
asp csharp css fechas Flash html imagenes java javascript linux mysql oracle php sql SQLServer url vbnet web xhtml xml
Top Usuarios
fjmp76 (42)
albin (31)
josuebasurto (31)
juanjo (30)
pedrocaro (9)
stanz (8)
AndiXTRM (7)
Joserra (7)
miiglesi (6)
aplyca (5)
Top Etiquetas
php (38)
vbnet (28)
javascript (26)
html (25)
csharp (25)
java (24)
sql (18)
mysql (13)
xml (13)
css (10)
imagenes (7)
Flash (7)
xhtml (7)
linux (6)
asp (6)
fechas (6)
oracle (5)
url (5)
web (5)
SQLServer (5)

Clase para creacion dinamica de Galeria de Imagenes sin BD

Esta es una clase que permite de manera dinamica crear tu galeria de imagenes, funciona sobre todo para casos donde no tienes una BD donde apoyarte para la creacion de tus albums de imagenes, creo que aun le voy a poner mas cosas, aqui en este sitio encontre una funcion para crear thumbsnails, que quisiera acoplar a esta clase.

 
/*******************
CLASE GALERIA
 
METODOS
	mostrarGaleria($id,$max); lista todas las imagenes que aparecen en el directorio seleccionado, este directorio 
							viene especificado en la variable $id.
							El argumento $max define cuantas fotos como maximo son mostradas.
	crarMiniGalerias($ini);el argumento $ini define desde donde empieza a mostrar, funciona para hacer la paginacion
***************/
class Galeria
{
	function mostrarGaleria($id,$max){	
		$ext = array("jpg", "png", "jpeg", "gif");//@LISTA DE EXTENSIONES ACEPTABLES
		$c=0;//@CONTADOR DEL NUMERO DE ARCHIVOS ENCONTRADOS SEGUN EL FILTRO;
		$datos=array();
		$a=3;
		//@$a=5;//@ESPECIFICA EL NUMERO DE ARCHIVOS QUE DEBE TENER CADA LISTA;		
		$dir="./galerias/".$id;
		if(is_dir($dir)){
			if ($gestor = opendir($dir)) {
				include ("./galerias/$id/datos.php");	
				echo "\t<div class='galeria'>\n";			
				echo "<p class='titulo'> $titulo </p>";
				echo "\n\t<div>\n";			
				echo "\t\t<ul>\n";
				if($max==0){
				   while (false !== ($archivo = readdir($gestor))) {
								   if ($archivo != "." && $archivo != "..") {													
										for($i=0;$i<sizeof($ext);$i++){
											if(stristr($archivo, ".".$ext[$i])){																	
												if ($c%$a==0 && $c!=0)
												{	echo "\t</ul>\n";
													echo "\t<ul>\n";
													echo "<li class='fila'> <a href='$dir/$archivo' class='imagen' target='_blank'> <img src='$dir/$archivo' alt='$archivo'/> </a></li>\n";
												}
												else
												{
													echo "<li class='fila'> <a href='$dir/$archivo' class='imagen' target='_blank'> <img src='$dir/$archivo' alt='$archivo' /> </a></li>\n";
												}
												$c++;																			
											}
										}
						   }
				   }
				}
				else{	while(!false==($archivo=readdir($gestor)) and $c<$max){				
								if ($archivo != "." && $archivo != "..") {													
												for($i=0;$i<sizeof($ext);$i++){
													if(stristr($archivo, ".".$ext[$i])){																	
														if ($c%$a==0 && $c!=0)
														{	echo "\t</ul>\n";
															echo "<ul>\n";
															echo "<li class='image'> <a href='$dir/$archivo' class='imagen' target='_blank'> <img src='$dir/$archivo' alt='$archivo' /> </a> </li>\n";
														}
														else
														{
															echo "<li class='image'> <a href='$dir/$archivo' class='imagen' target='_blank'> <img src='$dir/$archivo' alt='$archivo' /> </a> </li>\n";
														}
														$c++;									
													}
								}
								
						}		
					}	
				}
				
				echo "\t</ul>\n";
				echo "<div class='descripcion'> $descripcion </div>\n\t";
				if($max!=0){
					echo"\n\t<a href='galeria.php?gid=$id' class='oDir'> ver [+] </a>";
				}
				echo "\n\t</div>\n";	   
			   echo "</div>\n";
				closedir($gestor);
			}			
		}		
	}
	
 
	function creaMiniGalerias($ini)
	{
		echo "<div id='miniGalerias'>";
		if($ini!=1)
		{	$ini=$ini*2+1;
		}
			$max=$ini+3;
		for($i=$ini;$i<=$max;$i++)			
		{	$id='g'.$i;
			$this->mostrarGaleria($id,3);			
		}		
		echo "</div>";
		
		$dir="./galerias/";
		if ($gestor = opendir($dir)) {
			$g=0;
			echo "<div id='menuGal'>";
			 while (false !== ($archivo = readdir($gestor))) {
								   if ($archivo != "." && $archivo != "..") 
								   {		if($g%4==0)
											{	$c++;
												echo " <a href='galerias.php?n=$c'> [$c] </a> ";											
											}
											$g++;
								   }
				}
			echo "</div>";
		}
				
	}
	
	function numGalerias()
	{	$dir="./galerias";
		if ($gestor = opendir($dir)) {
			$g=0;
			 while (false !== ($archivo = readdir($gestor))) {
								   if ($archivo != "." && $archivo != "..") 
								   {		$g++;
								   }
				}
		}		
		return $g;
		
	}
	
	function creaMiniGaleriasPortada()
	{	
		$n=$this->numGalerias();
		echo "<div>";
		for($i=$n-2;$i<=$n;$i++)
		{	$id="g".$i;
			//echo $id;
			$this->mostrarGaleria($id,2);
		}
		echo "</div>";
	}
}
 
Comentario de xoneca:

Puedes reducir código si, en la función mostrarGaleria, antes del primer while pones:

 
$cond = 'return ' . ($max==0)? 'true;' : '$c<$max;';
while(!false==($archivo=readdir($gestor)) and eval($cond)){
  // ...
}
 
Comentario de xoneca:

¡Y, claro, borrando el segundo bucle while! ;)

Identifícate para dejar un comentario.
Proyecto: Juanjo Navarro, 2006 - Diseño: Albin