Probléme function PHP
lirycs78
Messages postés
101
Date d'inscription
Statut
Membre
-
lirycs78 Messages postés 101 Date d'inscription Statut Membre -
lirycs78 Messages postés 101 Date d'inscription Statut Membre -
Bonjour,
Jai un souci, j'ai créer ma function pour lister les fichiers et dossier de maniéres recursive, le hic c'est qu'il faut qu'elle me return tout les fichiers de tout le dossier courant et sous dossier. Hors comme le return stop la function elle me return seulement les fichier du dossier courant et non c'est sous dossier avec.
===> La function
http://rafb.net/p/J94G3j37.html
Merci d'avance.
Jai un souci, j'ai créer ma function pour lister les fichiers et dossier de maniéres recursive, le hic c'est qu'il faut qu'elle me return tout les fichiers de tout le dossier courant et sous dossier. Hors comme le return stop la function elle me return seulement les fichier du dossier courant et non c'est sous dossier avec.
===> La function
http://rafb.net/p/J94G3j37.html
Merci d'avance.
Configuration: Windows XP Firefox 3.0.6
11 réponses
-
Il te manque la fonction qui appelle de function Listage de fichier...
function Algo_Function_pere_Recursif
$tab=""
While !(Listage de fichier($tab2)) do
{
$tab+=$tab2
}
D'ailleurs, où est le deuxième paramètre dans l'appel recursif de ta function Listage de fichier? -
-
Jai pas bien compris ton code en faite :/
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
non mais le code que tu ma donner est faux :/
Sa n'existe pas sa : While !(Listage de fichier($tab2)) do
Je vois pas vraimment ce que tu veut dire :/ -
Je sais bien c'est un peu bidon...
Mais je te disais qu il fallait faire attention d'ajouter à ton tableau, le tableau retour de la recursivité avant de le renvoyer au père.
N'oublies qu'elle est bloquée tant qu'elle n'a pas trouvé la fin de l'arborescence des fichiers donc renvoyer les fichiers parcourus.
De plus, Il faut que tu distingues le noeud du noeud suivant.Suinon ton tableau sera écraser par les suivants noeuds.
si tu decides de renvoyer un boolean, il faut que tu geres un fichier indépendant de l'appel.
Du genre :
function appelrecursif($tab)
{
if noeud then {
appelrecursif(tab2)
tab+=tab2
}
if noeud suivant then
appelrecursif(tab2)
tab+=tab2
}
retour boolean // pas envie de reflechir
En gros veilles à ce que l'appel récursif ne soit pas par adresse mais par valeur ... -
oép j'avais compris le souci, mais je vois pas comment recoder ma function :/
-
Rajoute ton tableau dans l'appel déja et regarde si ca suffit. Puis utilise un petit repertoire pour tester. Et rajoute un un tableau globale au sous arborescence...
-
listage_fichier($directory."/".$files);
il manque 2 param... function listage_fichier($directory,$tab = array(),$fichier = null){
essaie
la déclaration : function listage_fichier($directory,$tab = array()){
et la recursivité : listage_fichier($directory."/".$files,$tab);
remarque : houps! mais ça marche.
$tab[] = $directory."/".$files."<br>"; je ne connais pas façon pour ajouter dans un tableau
mais
$i=count($tab);
$tab[$i] = $directory."/".$files."<br>";
ou aussi
y a une fonction pour ajouter un element au tableau. mais ??? il faut la chercher.
http://doc.domainepublic.net/php/doc.php.long/function.array-push.html
Houps! il le conseille -
Franchement stp tu ne peut pas me la coder rapidement parceque la je suis pommer je vois pas comment faire.
STP -
Oups ! Ok j'avais pas vu ta reponse, houps merci, Houps tkt pas je chercher aussi :) Houps merci :D