Salut à tous,
J'ai un petit problème avec ma boucle php, elle lis les sous-dossiers d'un dossier sur mon serveur, mais je voudrais qu'elle puisse les trier par ordre décroissant. Je sais qu'il existe des fonctions native de php comme rsort(), krsort() ou arsort() mais je galère à l'intégrer à ma boucle.
Voici ma boucle :
J'ai comme l'impression qu'il ne calcule pas rsort() et l'appel du tableau $files pour pouvoir trier la variable $file
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 $dir = "Mondossier/archives/"; $folder = opendir($dir); while (false !== ($file = readdir($folder))) { $files = array(); $files[]= $file; $this->files=$files; $this->folder=$folder; // Affichage + traitement (afin d'avoir les dossiers dans l'ordre alphabetique foreach($this->files as $key => $file){ if($file ==".." || $file =="." ) continue; $recup_nom=explode(".",$file); $fichier=$recup_nom[0]; $extension=$recup_nom[1]; krsort($fichier); /* ici la fonction de tri décroissant */ } if($fichier!=$archive &&$file !=".." &&$file !=".") // $file : modif pour éviter l'apparition d'icone en trop { echo "<div id='icone'><a href='?dossier=$fichier'><b> $file</b></a></div><br />"; } }
Quand je fait un test avec des valeurs en dur ça fonctionne parfaitement :
Ce code fonctionne :
Voilà, si quelqu'un à une idée la dessus ça serais sympa
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 $annee = array(); $annee [0]= "1992"; $annee [1]= "1996"; $annee [2]= "1999"; $annee [3]= "2006"; $annee [4]= "2007"; krsort($annee); foreach ($annee as $key => $val) { echo "$key = $val <br />"; }![]()
Partager