Page 1 sur 1

ordonner une liste de fichiers par date création

Posté : 31 janv. 2006, 16:12
par 2dou
Bonjour,
j'ai un script qui liste les fichiers contenus dans un répertoire de donné.
Il affiche le nom du fichier, la taille du fichier et la date de création de fichier.

je voudrais ordonner cette liste de fichiers du plus récent au plus ancien.
j'imagine qu'il faut utiliser sort();.
Mais toutes mes tentatives n'aboutissent pas.
Pouvez-vous m'aider, s'il vous plait ?

Code : Tout sélectionner

<html> <head> <title>Document sans titre</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <? $rep = "repertoire/"; $dir = opendir($rep); ?> <? function dd($date) { return date("d/m/Y H:i:s",$date); } ?> <? $i = 0; while ($f = readdir($dir)) { if(is_file($rep.$f)) { $nom[] = $f; $creation[] = dd(filemtime($rep.$f)); $taille[] = filesize($rep.$f); echo "<li>Nom du fichier : <a href='$rep$f'>".$nom[$i]."</a>"; echo "<li>Taille : ".$taille[$i]." octets"; echo "<li>Création : ".$creation[$i]; echo "<br><br>"; $i++; } } ?> </body> </html>

Posté : 31 janv. 2006, 16:20
par zehle
tu devrai les enregistrer dans un tableau, et apres appliquer le sort().
Parce que là tu les afficher directement.

Posté : 31 janv. 2006, 17:47
par zehle
je pense plustot que c'est un peu plus compliquer que ça.

il faudra ordonné les 3 tableaux.
<?
$i = 0;
while ($f = readdir($dir))
{
  if(is_file($rep.$f))
  {
    $tableau[$i]['nom'] = $f;
    $tableau[$i]['creation'] = dd(filemtime($rep.$f));
    $tableau[$i]['taille'] = filesize($rep.$f);
    $i++;
  }
}
// et là trier le tableau en fonction de la date, donc de la deusieme colone (creation)
?>