Je ne comprend pas bien ta question.
Dans tous les cas, ces 2 fonctions qui présentes que peux de différences permette à priori de parcourir récursivement un répertoire et tout ces sous répertoire afin d'afficher les fichier qu'ils contiennent.
Ces 2 fonctions ne retourne rien. Elle ne fond qu'un affichage du nom des fichiers. La seule différence entre la fonction 1 et la fonction 2 et la variable $Entry.
Dans le premier cas, $Entry est une chaine de caractères. Elle est écrasée à chaque tour de boucle while.
Dans le second cas, $Entry est une tableau de chaines de caractères. Une chaine de caractères est ajoutée au tableau à chaque tour de boucle. Dans cette solution, la récursivité ne fonctionnera pas : tu ne sortira que les fichiers du répertoire passée en paramètre et pas ceux de ses sous-répertoires. En effet, en php quand tu essay de convertir un tableau en chaine de caratère, ça retourne toujours la chaine de caractère "Array". donc pour le test
if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..')
tu va tester si le répertoire "monRepertoire/array" existe. pour régler ce problème il faudrait modifier ce test en
if(is_dir($Directory.'/'.$Entry[count($Entry) - 1]) && $Entry[count($Entry) - 1] != '.' && $Entry[count($Entry) - 1] != '..')
J'espère que ces explications pourront t'éclairer un peu dans ton problème.
Sinon je n'ai pas compris ce que tu veux faire avec la ligne 5. Quelle est la condition pour afficher ou non le nom d'un fichier ?
Partager