Foros del Web » Programando para Internet » PHP »

Ayuda con PHPPaging para mostrar archivos ordenados por fecha de modificacion

Estas en el tema de Ayuda con PHPPaging para mostrar archivos ordenados por fecha de modificacion en el foro de PHP en Foros del Web. Hola a todos. He instalado el PHPPaging desarrollado por phperu.net y me funciona todo correctamente. El unico problema que tengo es que al listar un ...
  #1 (permalink)  
Antiguo 19/01/2010, 06:43
 
Fecha de Ingreso: septiembre-2009
Mensajes: 6
Antigüedad: 14 años, 6 meses
Puntos: 0
Ayuda con PHPPaging para mostrar archivos ordenados por fecha de modificacion

Hola a todos.

He instalado el PHPPaging desarrollado por phperu.net y me funciona todo correctamente. El unico problema que tengo es que al listar un directorio de imagenes no me las muestra ordenadas por fecha de modificacion.

He intentado hacerlo usando filemtime() y sort() pero mis conocimientos no son tan extensos a la hora de aplicarlo al While que saca las imagenes. Os pongo el codigo fuente a ver si alguien puede ayudarme.

Código PHP:
        include('../includes/PHPPaging.lib.php');
            
    
// Directorio del cuál vamos a extraer las imágenes
    
$path 'usr/' $UsuarioActivo '/P';
            
        
    
// Extracción de imágenes.
    
$dh opendir($path); 
    
$archivos = array();
    while ((
$file readdir($dh)) !== false) { 
     if(
$file != "." && $file != "..") {                    
              if(
substr($file, -4) == '.jpg'$archivos[] = $file;
            } 
                
    } 
    
closedir($dh); 
Muchas gracias de antemano por vuestra ayuda.
  #2 (permalink)  
Antiguo 19/01/2010, 07:00
Avatar de CHuLoSoY  
Fecha de Ingreso: febrero-2002
Ubicación: Ribeira (Galicia)
Mensajes: 1.900
Antigüedad: 22 años, 2 meses
Puntos: 29
Respuesta: Ayuda con PHPPaging para mostrar archivos ordenados por fecha de modificac

Tienes que modificar la consulta sql de la librería (con ORDER BY)
Crea una nueva condición en ella y listo.
__________________
ESQUIO Dominios y Hosting
Las mejores características con los mejores precios.
  #3 (permalink)  
Antiguo 19/01/2010, 10:43
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con PHPPaging para mostrar archivos ordenados por fecha de modificac

A ver, con filemtime() efectivamente obtienes la marca de tiempo UNIX correspondiente a la fecha de última modificación del archivo que le pases como parámetro.

Por lo tanto, dentro de tu while() debes poner algo como:

Código PHP:
Ver original
  1. $fecha_mod = filemtime($path . '/' . $file);
y luego usar $fecha_mod como índice de los elementos que vas agregando al array archivos. Después, cuando ya tienes el array, usas la función ksort() que ordenará tu array en base a los índices, que en este caso son las fechas de última modificación.

Saludos.
  #4 (permalink)  
Antiguo 19/01/2010, 12:53
 
Fecha de Ingreso: septiembre-2009
Mensajes: 6
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda con PHPPaging para mostrar archivos ordenados por fecha de modificac

Listo, ya funciona como queria. Dejo el codigo por si alguien lo necesita.

Código PHP:
include('../includes/PHPPaging.lib.php');
            
    
// Directorio del cuál vamos a extraer las imágenes
    
$path 'usr/' $UsuarioActivo '/P';
        
        
    
// Extracción de imágenes. Ver http://www.php.net/readdir
    
$dh opendir($path); 
    
$archivos = array();
            
    while ((
$file readdir($dh)) !== false) { 
       if(
$file != "." && $file != "..") {         
               
$fecha_mod filemtime($path '/' $file);          
            if(
substr($file, -4) == '.jpg'$archivos[$fecha_mod] = $file;
                        
        } 
            
    } 
    
closedir($dh);
    
krsort($archivos); 
Muchas gracias chicos
  #5 (permalink)  
Antiguo 20/01/2010, 11:10
 
Fecha de Ingreso: septiembre-2009
Mensajes: 6
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda con PHPPaging para mostrar archivos ordenados por fecha de modificac

Me ha surgido otro problema, ahora resulta que si los ordeno por fecha, hay algunas imagenes que no aparece. Por algun motivo no las muestra y no soy capaz de descubrir porque pasa esto.

¿Es posible que tenga conflicto dos imagenes creadas al mismo tiempo ?
  #6 (permalink)  
Antiguo 20/01/2010, 11:18
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Ayuda con PHPPaging para mostrar archivos ordenados por fecha de modificac

Si, esa es la razón. Recuerda que los indices en un array deben ser únicos. hay varias formas de abordar este problema. Tal vez te interese darle una ojeada a la función array_multisort()

  #7 (permalink)  
Antiguo 20/01/2010, 11:30
 
Fecha de Ingreso: septiembre-2009
Mensajes: 6
Antigüedad: 14 años, 6 meses
Puntos: 0
Respuesta: Ayuda con PHPPaging para mostrar archivos ordenados por fecha de modificac

Bueno, ahora si me salen todos correctamente, los de la misma fecha los pone consecutivos.

Pongo de nuevo el codigo corregido para el que le pueda servir:

Código PHP:
// Directorio del cuál vamos a extraer las imágenes
            
$path 'usr/' $UsuarioActivo '/P';
            
        
            
// Extracción de imágenes. Ver http://www.php.net/readdir
            
$dh opendir($path); 
            
$archivos = array();
            
            
array_multisort($archivos);
            
            while ((
$file readdir($dh)) !== false) { 
              if(
$file != "." && $file != "..") {         
                       
$fecha_mod filemtime($path '/' $file);  
                    if(
substr($file, -4) == '.jpg'$archivos[$fecha_mod] = $file;                    
              }
            } 
            
closedir($dh);
            
krsort($archivos); 
Muchas gracias por la ayuda.

Última edición por PaToLoko; 20/01/2010 a las 11:39

Etiquetas: modificacion, fechas
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:19.