Too Cool for Internet Explorer
Yo uso Google antes de preguntar, y tú? Inicio PHPeru.net SourceForge.net
Ejemplo: Paginando el contenido de un directorio

Paginando archivos de un directorio

En este ejemplo queremos mostrar cómo es que PHPPaging puede paginar datos que no sean extraídos de una base de datos.

Explicación

Vamos a paginar las imágenes JPEG contenidas en el directorio http://phppaging.phperu.net/media/fotos. Para ello leemos primero el contenido del directorio (Ver referencia), guardando las imágenes en un array $archivos. Este array con las imágenes lo pasamos al paginador, para mostrar finalmente las imágenes en varias páginas.

Puedes ver el código de este ejemplo al final de la página.

En acción!

Página 1 de 13
Mostrando 3 imágenes, de la 1 a la 3 de un total de 38 encontradas.
11.jpg
11.jpg
10.jpg
10.jpg
12.jpg
12.jpg
2 3 ... 6 Siguiente > Última »

Código

El codigo de este ejemplo es:
<?php

    
// Directorio del cuál vamos a extraer las imágenes
    
$path "media/fotos";

    
// Extracción de imágenes. Ver http://www.php.net/readdir
    
$dh opendir($path); 
    
$archivos = array();
    while ((
$file readdir($dh)) !== false) { 
        if(
$file != "." && $file != "..") { 
            if(
substr($file, -4) == '.jpg'$archivos[] = $file;
        } 
    } 
    
closedir($dh); 
    
    
// Instanciamos el objeto de la clase
    
$paging = new PHPPaging;
    
    
// Agregamos los datos. Ahora no provienen de una base de datos
    // Usamos el método agregarArray()
    
$paging->agregarArray($archivos);
    
    
// Configurando el script
    
$paging->porPagina(3); // 3 imágenes por página
    
$paging->paginasAntes(23); // Páginas adyacentes anteriores
    
$paging->paginasDespues(23); // Páginas adyacentes posteriores 
    
$paging->linkSeparadorEspecial(' ... 'true); // Separador especial para las páginas distantes
    
$paging->linkTitulo('Página %1$s/%5$s > Imágenes %2$s a %3$s de %4$s'true); // Título de los links
    // Fin configuración
    
    // Ejecutamos la paginación
    
$paging->ejecutar(); 
    
    
// Obtenemos la información
    
$info $paging->superArray();
    
?>

Página <?php echo $info['numEstaPagina']; ?> de <?php echo $info['numTotalPaginas']; ?>

<br />

Mostrando <?php echo $info['numRegistrosMostrados']; ?> imágenes, 
 de la <?php echo $info['numPrimerRegistro']; ?> a la <?php echo $info['numUltimoRegistro']; ?> 
 de un total de <?php echo $info['numTotalRegistros']; ?> encontradas.

<table border="1" style="width: 90%; margin: 10px 0;">
    <tr> 
        <?php
            
// Recorremos los resultados
            
while($datos $paging->fetchResultado()) {
                
// Imprimimos
                
echo "<td align='center'>";
                echo 
"<img src='$path/$datos' alt='$datos'/>";
                echo 
"<br />$datos</td>"
            } 
        
?>
    </tr> 
</table> 

<?php echo $paging->fetchNavegacion(); ?>