Aquí tienen una galería bastante buena, simple de usar.
http://www.prothotype.com/blog/2005/12/18/galeria-php-con-thumbs/
Lo único que no tiene configurado para paginar a una cierta cantidad de imágenes.
Aprovecho para ver si alguien puede darme una mano en implementarle a ese código la paginación.
El codigo de la galería es el siguiente. Solo trabaja con este archivo (galeria.php) y una carpeta de imagenes para cada galeria.
Código :
<?php function tiny($d, $archivo){ $original = imagecreatefromjpeg("$d/$archivo"); /* Hallamos la anchura y altura de la imagen original */ $ancho = imagesx($original); $alto = imagesy($original); /* Indicamos la anchura que tendrá la miniatura */ $anchomini=100; /* Obtenemos por una simple regla de tres la altura de la miniatura */ $altomini=($alto*$anchomini)/$ancho; /*verificamos que los valores de ancho y alto no excedan nuestro limite por imagen*/ if($altomini>100){ $altomini = 100; $anchomini = ($ancho*100)/$alto; } /* Dimensionamos la miniatura */ $thumb = imagecreatetruecolor($anchomini,$altomini); /* Se obtiene por interpolación la miniatura en memoria */ imagecopyresampled($thumb,$original,0,0,0,0,$anchomini,$altomini,$ancho,$alto); if(!is_dir("$d/thumbs")) { mkdir("$d/thumbs",0777); } /* Guardamos la miniatura en un fichero con formato JPEG y un ratio de compresión de 90% */ imagejpeg($thumb,"$d/thumbs/tn_$archivo",90); } function gallery($fotos) { $i = 0; if (is_dir($fotos)) { if ($handle = opendir($fotos)) { echo $fotos; while (($archivo = readdir($handle)) !== false) { //falta validar extensiones if(!(is_dir($archivo)OR($archivo=="thumbs"))) { if(!file_exists("$fotos/thumbs/tn_$archivo")){ tiny($fotos,$archivo); } //muestra thumbs $j=($i%4); if($j==0){ echo "\n"; echo '<p></p>'; } echo '<a href="'.$fotos.'/'.$archivo.'"><img src="'.$fotos.'/thumbs/tn_'.$archivo.'"/></a>'; $i++; } } closedir($fotos); } } } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <title>Galeria </title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <?php @gallery($_GET[fotos]); ?> </body> </html>
Saludos
Gonzalo