Listar contenido de un directorio ordenado por fecha en php

Alguna vez se nos ha planteado el problema de de listar el contenido de un directorio o una determinada carpeta utilizando el lenguaje php. Necesitamos además el que los nombres de los archivos estén ordenados por fecha de creación. Pues bien, con este simple código podemos obtenerlo de una manera bien sencilla. Se basa en la creación de un array, ordenarlo por fecha de creación y posteriormente mostrarlo, mediante un la utilización de una lista ordenada de html <li> o mediante una tabla como se haría por ejemplo:

$dir = "../mydir/"; //path o ruta de nuestro directorio 
chdir($dir);
array_multisort(array_map('filemtime', ($files = glob("*.*"))), SORT_DESC, $files);
echo "<table>";
foreach($files as $filename)
{
 if($tr==0)
 {
 echo "<tr>";
 }
 echo "<td><a href='download.php?path=".$filename."' target='_blank'>".substr($filename, 0, -4)."</a></td>";
 $tr++;

 if($tr==4)
 {
 echo "</tr>";
 $tr=0;
 }
 
}
echo "</table>";

Donde download.php se trata de la  llamada al script para descargar el archivo.

Entradas relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.