Foros del Web » Programando para Internet » PHP »

ordenar archivos listados segun fecha de modificacion

Estas en el tema de ordenar archivos listados segun fecha de modificacion en el foro de PHP en Foros del Web. hola a todos estoy listando una carpeta y quisiera que los archivos se ordenen por la fecha de modificacion/creacion, no tengo ni la mas palida ...
  #1 (permalink)  
Antiguo 06/06/2008, 16:37
 
Fecha de Ingreso: abril-2008
Ubicación: Posadas
Mensajes: 49
Antigüedad: 16 años
Puntos: 0
Pregunta ordenar archivos listados segun fecha de modificacion

hola a todos estoy listando una carpeta y quisiera que los archivos se ordenen por la fecha de modificacion/creacion, no tengo ni la mas palida idea de como hacerlo, desde ya agradezco su ayuda!
Código PHP:
<?php 
              
echo "<table>\n";
       
$directorio opendir("../images/");
       while (
$archivo readdir($directorio))  
        {   if(
$archivo=='.' or $archivo=='..' or $archivo=='Thumbs.db') { 
        echo 
"";  
 }else {  
         
$nombreArch ucwords($archivo);   
         echo 
"<tr>\n<td>\n\n";   
         echo 
"<img src='../resize_image2.php?image=images/$nombreArch'";   
         echo 
" border=0>\n";   
         echo 
"&nbsp;$nombreArch</td>\n";   
         echo 
"\n</tr>\n";   
             } }
closedir($directorio); 
         echo 
"</table>\n";
         
?>
  #2 (permalink)  
Antiguo 06/06/2008, 18:58
Avatar de jam1138
/** @package Moderador */
 
Fecha de Ingreso: julio-2004
Ubicación: sèveR led onieR lE
Mensajes: 9.368
Antigüedad: 19 años, 9 meses
Puntos: 102
Respuesta: ordenar archivos listados segun fecha de modificacion

... Puedes obtener esa información del archivo ocupando la función filemtime(). Entonces lo que podrías hacer es almacenar la información antes de mostrarla. Tienes funciones como sort() con las que podrías después manipular esa información.

Una manera mucho más simple sería mandar un comando con shell_exec() (en Linux sería "ls -t") pero no funcionará con safe_mode y dependerá del SO (no sé como sea el comando en Windows... sé que es "dir", pero sé de un parámetro para ordenarlo como aquí se requiere).

www.php.net/filemtime
www.php.net/ref.array
www.php.net/shell_exec
... y creo es todo

Suerte
__________________
٩(͡๏̯͡๏)۶
» Cómo hacer preguntas de manera inteligente «

"100 años después, la revolución no es con armas, es intelectual y digital"

Última edición por jam1138; 06/06/2008 a las 19:00 Razón: Agrego enlaces a funciones.
  #3 (permalink)  
Antiguo 06/06/2008, 19:12
Avatar de hgp147  
Fecha de Ingreso: diciembre-2006
Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 17 años, 4 meses
Puntos: 36
Respuesta: ordenar archivos listados segun fecha de modificacion

Hola aw412161. Proba este código:

Código PHP:
<?

$dir
"./"

$directorio=opendir($dir); 

$i=0

while (
$archivo readdir($directorio)) { 
    
if (
$archivo=="." || $archivo==".."){ 

echo 
" "

}else{

$i++; 

$entradas[$archivo] = filemtime($dir."/".$archivo);


} } 

arsort ($entradas); // Con ksort($entradas) mostras los menos recientes

closedir

$i=0

foreach (
$entradas as $archivo => $timestamp) { 

if ( 
$i // Mostras solo los 4 más recientes
    
{
    

echo 
date("d-m-y"$timestamp);

echo 
"<a href=\"$dir/$archivo\">$dir/$archivo</a>";

}

$i++; // Aumentamos contador


}


?>
__________________
Spread Firefox | Download Day 2008
¡Únete en nuestra misión para alcanzar el Record Guinness al software más descargado en 24 horas! http://www.spreadfirefox.com/es-ES/worldrecord/
  #4 (permalink)  
Antiguo 07/06/2008, 19:23
 
Fecha de Ingreso: abril-2008
Ubicación: Posadas
Mensajes: 49
Antigüedad: 16 años
Puntos: 0
Respuesta: ordenar archivos listados segun fecha de modificacion

Muchas gracias a todos y en especial a HGP147 me sirvio muchisimo tu codigo.
gracias!
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 21:08.