ordonner une liste de fichiers par date création

Petit nouveau ! | 1 Messages

31 janv. 2006, 16:12

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>

Eléphanteau du PHP | 32 Messages

31 janv. 2006, 16:20

tu devrai les enregistrer dans un tableau, et apres appliquer le sort().
Parce que là tu les afficher directement.

Eléphanteau du PHP | 32 Messages

31 janv. 2006, 17:47

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)
?>