Tri de fichier date.htm

Fermé
Totov Messages postés 9 Date d'inscription samedi 15 octobre 2005 Statut Membre Dernière intervention 20 janvier 2009 - 11 janv. 2006 à 23:26
Totov Messages postés 9 Date d'inscription samedi 15 octobre 2005 Statut Membre Dernière intervention 20 janvier 2009 - 12 janv. 2006 à 20:37
Bonjour,
je souhaite en php faire apparaitre le contenu d'un répertoire contenant des fichiers dont les noms sont de la forme :
jjmmaa.htm soit 110106.htm il y en a 1 par jour !
le bout de code ci-dessous ne me donne pas satisfaction :
function DirTri($rep,$tri)

{
$Array = array(); $dir = opendir($rep);
$i=0;
while ($File = readdir($dir)){
if($File != "." && $File != ".." && $File != "index.htm")
{
$Array[] = "$File";
}
$i++;
}
closedir($dir);

if($tri == 'DESC'){
rsort ($Array);
}else{
sort ($Array);
}

$Max = count($Array);
for($i = 0; $i != $Max; $i++){
if (substr($Array[$i],strlen($file)-3,3)=="htm" ){
echo "<li><a href=\"$rep"."$Array[$i]\" target='blank_'>$Array[$i] </a><br>";

}
}
/* echo "<br><br>".$Max." fichier(s)" ;*/
}

// utilisation de la fonction
// param.1 : chemin du répertoire ("." si il s'agit du rép. courant)
// param.2 : ASC ou DESC (A-Z ou Z-A)
DirTri("./truc/","ASC");

Merci de m'éclairer !
Totov
A voir également:

2 réponses

StreM Messages postés 515 Date d'inscription lundi 18 octobre 2004 Statut Membre Dernière intervention 28 février 2007 124
12 janv. 2006 à 10:13
Voila pourquoi on met des dates de la forme AAAA-MM-JJ, notamment en SQL. C'est tellement plus facile pour les trier !
Bon, ceci dit, tu n'as peut-etre pas le choix, alors voila mon conseil :
Utilise natsort(). Regarde ce que ca donne.
Sinon, fais des masques, et explose tes tableaux : tu coupes chaque fichier en 3 (donc 5 colonnes : Id, JJ, MM, AA, nomdufichier) et tu tries. Mais je sens bien natsort().
0
Totov Messages postés 9 Date d'inscription samedi 15 octobre 2005 Statut Membre Dernière intervention 20 janvier 2009
12 janv. 2006 à 20:37
Ok Merci !
Effectivement, j'ai renommé mes fichiers newsAAAA-MM-JJ.htm et tout va bien maintenant !
Encore merci
0