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 :

Return tableau vide [PHP 5.3]


Sujet :

Langage PHP

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut Return tableau vide
    Bonjour à tous, j'ai une bonne question de débutant à vous soumettre

    J'ai une fonction qui me permet de rechercher dans un répertoire passé en paramètre, tous les fichiers .pdf et de ranger dans un tableau le path de ces fichiers. Tout fonctionne, le tableau se remplit correctement, si je l'affiche je retrouve bien tous les path des mes fichiers mais si je fais un return à la fin de ma fonction, lorsque je l'appelle je retrouve un tableau vide ...
    Je vois pas d'où vient le souci, ou alors c'est tellement grossier que je l'ai pas remarqué ?
    Merci d'avance

    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
    27
    28
    29
    function ScanDirectory($Dossier){ 
    	$liste = array();
     
    	$MonDossier = opendir($Dossier) or die('Erreur');
    	while($Cible = @readdir($MonDossier)) {
    		if(is_dir($Dossier.'/'.$Cible) && $Cible != '.' && $Cible != '..') {
     
    			ScanDirectory($Dossier.'/'.$Cible);
    		}
    		else {
    			if (is_file($Dossier.'/'.$Cible)){
     
    				if (get_file_ext($Cible) == 'pdf'){
    					$liste[] = $Dossier.'/'.$Cible;
    				}
    			}
    		}
    	}
     
    	return $liste;
    	closedir($MonDossier);
     
    }
     
     
    $tab = ScanDirectory('dossier');
    for ($i = 0; $i<sizeof($tab); $i++) {
    	echo $tab[ $i ], '<br/>';
    }

  2. #2
    Membre régulier Avatar de MTroy_
    Profil pro
    Inscrit en
    Mars 2012
    Messages
    63
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 63
    Points : 83
    Points
    83
    Par défaut
    Bonjour,

    Ton tableau est toujours vide, sans doute car il n'y a pas de pdf à la racine du dossier que tu teste, et vu que tu ne récupères jamais les résultats dans ta récursion, les pdf contenus dans les sous répertoires ne sont jamais ajoutés.

    Code php : 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
    27
    28
    29
    30
    31
    32
    <?php
    
    function ScanDirectory($Dossier)
    { 
        $liste = array();
    
        $MonDossier = opendir($Dossier) or die('Erreur');
        while($Cible = @readdir($MonDossier)) 
        {
    	if(is_dir($Dossier.'/'.$Cible) && $Cible != '.' && $Cible != '..') 
    	{
    	    $liste = array_merge(ScanDirectory($Dossier.'/'.$Cible), $liste);
    	}else
    	{
    	    if (is_file($Dossier.'/'.$Cible))
    	    {
    		if (get_file_ext($Cible) == 'pdf')
    		    $liste[] = $Dossier.'/'.$Cible;
    	    }
    	}
        }
        return $liste;
        closedir($MonDossier);
    }
     
    $tab = ScanDirectory('Dossier');
    foreach($tab as $pdf => $pdf_path)
    {
        echo $pdf_path."<br />";
    }
    ?>

    C'est quand même plus propre avec un for each
    Plus rapide que webkit!
    Chuck Norris n'utilise pas de navigateur. Il lit le code source et imagine la page. Question de gain de temps...

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Mars 2012
    Messages : 4
    Points : 5
    Points
    5
    Par défaut
    oui c'est ça mes fichiers ne sont que dans des sous répertoires de mon dossier racine! compris

    merci beaucoup

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. test sur tableau vide
    Par vince2005 dans le forum Langage
    Réponses: 1
    Dernier message: 11/10/2006, 16h08
  2. [Tableaux] pb implode avec tableau vide
    Par bogsy15 dans le forum Langage
    Réponses: 4
    Dernier message: 16/08/2006, 13h39
  3. supprimer lignes/cellules de tableau vides
    Par Drozo dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 09/08/2006, 13h21
  4. UBound et tableau vide
    Par benoit70 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 23/09/2005, 22h26
  5. return array vide et non null
    Par mereyj dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 18/04/2005, 20h25

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