PHP:¿Cómo hacer un catálogo de imágenes automáticamente?

De Foros del Web

Sencillo, sólo debes almacenar las imágenes de la carpeta en un array y luego paginarlos, todo queda así:

Primero, activamos el objeto dir() y saltamos los dos primeros elementos simbólicos "." y "..".

Código PHP:

$path="imagenes/loquesea"; 
$directorio = dir($path); 
$directorio->read(); 

Luego metemos todos los nombres de las imágenes en un array llamado $imagen y cerramos el objeto dir():

Código PHP:

while($entrada = $directorio->read()){ 
    $a++; 
    $imagen[$a] = $entrada; 
} 
$directorio->close();  

Ahora contamos cuántas páginas dará como resultado la cantidad de imágenes usando la función ceil() que redondea al número por encima del decimal, tomando en cuenta que usaremos 100 imágenes por página:

Código PHP:

$paginas = ceil($a/100);  

Si el número de página no esta definida o no hemos seleccionado ninguna página, entonces toma por defecto "1".

Código PHP:

if(!isset($page)){ 
    $page = "1"; 
}  

Calculamos en qué página nos encontramos, para así saber desde dónde debe comenzar a imprimirse las imágenes:

Código PHP:

$o = 100*($page-1); 

Luego imprimimos las imágenes en una tabla, 10 por fila y 10 por columna:

Código PHP:

for ($i=1; $i<=10; $i++){ 
    echo "<tr align=\"center\">"; 
    for ($e=1; $e<=10; $e++){ 
        $o++; 
        echo "<td><img src=\"".$path."/",$imagen[$o]."\"></td>";  
    } 
    echo "</tr>"; 
}  

Ahora, donde quieras poner los links a las páginas colocas:

Código PHP:

for ($u=1; $u<=$paginas; $u++){ 
    echo "<a href=\"catalogo.php?&page=".$u."\">".$u."</a>  "; 
}  

--drcyber 20 Set 2003

Este artículo es parte de las FAQs de PHP y el Manual de PHP.

Herramientas personales