Probléme function PHP
lirycs78
Messages postés
106
Statut
Membre
-
lirycs78 Messages postés 106 Statut Membre -
lirycs78 Messages postés 106 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.
A voir également:
- Probléme function PHP
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Retour a la ligne php - Forum Webmastering
- Retour à la ligne php ✓ - Forum PHP
- "Php version 4.4.3" "phpinfo()" ✓ - Forum PHP
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?
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?
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 :/
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 ...
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 ...
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
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