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.
- Indice de las FAQs: Conceptos, Configuración, Formularios, Manejo de Archivos, Integración con Bases de Datos, Sesiones, Extensiones y Librerías, Seguridad, Funciones, Clases y Objetos, Frameworks
- Recomendamos también: Guía Zend, Frameworks PHP, Aceleradores PHP
- Agregar al FAQ: PHP: Instrucciones para agregar una pregunta al FAQ de PHP
- Para preguntas sobre PHP: Foro de Php
