IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Fonction récursive et return


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Points : 68
    Points
    68
    Par défaut Fonction récursive et return
    Bonjour

    je ne parviens à récupérer une variable à la sortie d'une fonction exécutée récursivement.

    Y a un os là, non ?

    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
     
     
     
    function exporter($dossier_source, $dossier_cible, $compteur ) {
     
    	$handle = opendir($dossier_source) ;
    	while ( false !== ( $file = readdir($handle) ) ) {
    		if ( $file != "." && $file != ".." )  {	
    			if ( is_dir($dossier_source.$file) ) { 
    				exporter( $dossier_source.$file."/", $dossier_cible, $compteur ) ;
    			} else if ( substr($file, strrpos($file, ".")) == ".php" ) { 
     
    				// copie simple
    				copy( $dossier_source.$file , $dossier_cible.$file ) ;
    				touch( $dossier_cible.$file ,filemtime($dossier_source.$file)) ; // copie de la date de modification
     
    				$compteur++ ;
     
    			}
    		}
    	}
    	return $compteur ;
     
     
     
    }

    Si quelqu'un peut rallumer la lumière, MERCI !

  2. #2
    Membre confirmé Avatar de guigo
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    612
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 612
    Points : 576
    Points
    576
    Par défaut
    Salut,
    Question : est ce que ta fct "s'arrete un jour"? Si la condition if est vrai a chaque fois alors le return n'est jamais appelé.... Première piste, premier coup d'oeil.... A voir

    Guigo

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 101
    Points : 68
    Points
    68
    Par défaut
    Oui, oui la fonction s'arrête bien, quand elle a visité tous les dossiers et fichiers.

    En fait le return retourne 0, et pourtant si j'affiche $compteur dans la fonction, j'ai bien des valeurs qui s'affichent et qui s'incrémentent.

Discussions similaires

  1. [VB6] XML, fonction récursive de recherche
    Par kboo dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/04/2006, 21h27
  2. [XSLT] fonction récursive à N niveaux
    Par Mike35 dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 10/03/2006, 12h30
  3. [Mail] fonction mail() et return-path
    Par -DeN- dans le forum Langage
    Réponses: 8
    Dernier message: 22/02/2006, 13h54
  4. Fonction récursive renvoi sur page d'erreur
    Par peck dans le forum Langage
    Réponses: 1
    Dernier message: 23/12/2005, 10h08
  5. Problème de fonction récursive avec un TcxDBTreeList
    Par isachat666 dans le forum Composants VCL
    Réponses: 1
    Dernier message: 05/12/2005, 13h12

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo