Lecture récursive d'une arborescence et affichage par tri alpha numéro

Lecture récursive d'une arborescence et affichage par tri alpha numéro - PHP - Programmation

Marsh Posté le 14-03-2016 à 19:54:59    

Bonjour tout le monde,
 
Je tourne en rond depuis un moment et je n'arrive pas a trouver la solution. Elle doit se être au bout de mon nez. Par contre, je ne la vois pas. C'est pourquoi je fais appel à votre aide pour m'aiguiller un peu.
 
Pour situer, je souhaiterais effectuer une lecture récursive d'une arborescence en listant tous les dossiers. Pour cela, tout va bien. J'utilise la fonction suivante:
 

Code :
  1. $dossier = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($cheminLecture, RecursiveDirectoryIterator::SKIP_DOTS), RecursiveIteratorIterator::SELF_FIRST);


 
Là où je peine, c'est que le résultat retourné est affiché par ordre de création. Pour le bien de l'application, il faudrait que je puisse lister par ordre alpha numérique style comme la fonction natcasesort.
 
Auriez-vous une idée?
 
Un grand merci d'avance.

Reply

Marsh Posté le 14-03-2016 à 19:54:59   

Reply

Marsh Posté le 16-03-2016 à 10:49:14    

Je connais pas cet objet la mais pourquoi ne pas utiliser scandir voila un exemple de fonction que j'utilise pour récupérer tout les fichiers d'un dossier récursivement

Code :
  1. function parcoursRecur($dir) {
  2.     $root = scandir($dir); //scanne le dossier
  3.     $arra_file = array();
  4.     foreach ($root as $value) {
  5.         //on ignore ces deux valeurs
  6.         if ($value === '.' || $value === '..') {
  7.             continue;
  8.         }
  9.         $variable = "$dir/$value";
  10.         //on teste si la variable est un fichier
  11.         if (is_file($variable)) {
  12.             //on l'ajoute au tableau arra_file
  13.             $arra_file[] = $value;
  14.             continue;
  15.         }
  16.         //on teste si c'est un dossier
  17.         if (is_dir($variable)) {
  18.             //on fusionne les deux tableaux
  19.             $arra_file = array_merge($arra_file, parcoursRecur($variable));
  20.         }
  21.     }
  22.     return $arra_file;
  23. }


apres tu appelles ta fonction tu la stocke dans une variable et puis tu appelles natcasesort sur cette variable et voila


Message édité par yoyopouce le 16-03-2016 à 10:52:32
Reply

Marsh Posté le 03-04-2016 à 00:42:27    

+1 pour scandir: ya des moments faut pas aller chercher 12hà 14h


---------------
collectionneur de pâtes thermiques
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed