Ordenar archivos de un directorio por fecha

Iniciado por 177600531, 11 Febrero 2013, 22:23 PM

0 Miembros y 1 Visitante están viendo este tema.

177600531

Bueno pues como dice el titulo del post lo que intento hacer es ordenar los archivos de un directorio por fecha pero no me sale lo he intentado con la función filemtime pero sin resultados, llevo ya medio día intentando por todos los medios ordenarlos y no lo consigo también he buscado en google unas cuantas horas. Agradeceria mucho que alguien que sepa más php que yo me ayudara con este problema que tengo, ósea mostrar los archivos de un directorio pero ordenarlos por fecha, el ultimo archivo subido que sea el primero y etc...

Gracias con antelación.

Esto es lo que tengo de momento.

Código (php) [Seleccionar]
<?php 
if (
$gestor opendir('files')) {
echo "<ul>";
    while (false !== ($arch readdir($gestor))) {
   if ($arch != "." && $arch != "..") {
   echo "<li><a href=\"files/".$arch."\" class=\"linkli\">".$arch."</a></li>\n";
   }
    }
    closedir($gestor);
echo "</ul>";
}
?>

EFEX

Código (php) [Seleccionar]

<?php
if ($gestor opendir('files/')) {
while (false !== ($arch readdir($gestor))) {
if ($arch != "." && $arch != "..") {
$archivos[filemtime($arch)] = $arch;  // Hacemos un listado de archivos junto con su fecha de modificacion
}
}
closedir($gestor);
echo "<ul>";
sort($archivosSORT_NUMERIC);  //Ordenamos por fecha
foreach ($archivos as $key => $archivo) {
$fecha date('F d Y, H:i:s',filemtime($archivo));  //Obtenemos la fecha en formato de mes, dia, año, hora, minutos, segundos
echo "<li><a href=\"files/".$archivo."\" class=\"linkli\">".$archivo."</a></li> Fecha ".$fecha."\n";
}
echo "</ul>";
}
?>

GITHUB 

177600531

Gracias por tu ayuda, la verdad es que ya lo había resuelto, siempre me saltaba un warning en la función filemtime pero hacia su trabajo al final he resuelto el problema con un:
Código (php) [Seleccionar]
<?
error_reporting(0);
?>


Dejo el code con el que al final resolví el problema también por si a alguien le sirve en un futuro y que no se pase comiéndose el coco un día entero. Gracias por todo.

Saludos.

Código (php) [Seleccionar]
<?php 
$directorio 
'files'
function 
ordenar($a,$b){ 
 global 
$directorio
 
$a filemtime($directorio.$a); 
 
$b filemtime($directorio.$b); 
 if (
$a == $b) { 
 return 
0
 } 
 return (
$a $b) ? -1

$dir="files";  
$directorio opendir($dir);  
while (
$archivo readdir($directorio)) {  
if (
$archivo=="." || $archivo=="..") { echo " "; } else {  
$archivos[$archivo] = $archivo

}   
ksort ($archivos); 
usort($archivos"ordenar"); 
foreach (
$archivos as $archivo) {  
echo 
"<a href=\"files/".$archivo."\" class=\"linkli\">".$archivo."</a><br>"

?>