Partage
  • Partager sur Facebook
  • Partager sur Twitter

Parcourir un dossier sans glob

Glob étant désactivée chez free

Sujet résolu
    14 août 2006 à 18:57:18

    Bonsoir à tous.
    J'ai un problème qui se présente à moi.
    Avant, lorsque je désirais afficher une liste du répertoire, j'utilisais glob. Petit exemple, si je veux afficher tous les dossiers qui contiennent une page index.php :

    <?php
    $GlobArray = glob('*/index.php'); //Insère tous les fichiers dans un arrey

    foreach($GlobArray as $ForeacArray)
    {
            $ExplodeArray = explode('/',$ForeacArray); //sépare le chemin
            $ArrayDossiers[] = $ExplodeArray[0]; //Prend
    }
    echo '<pre>';
    print_r($ArrayDossiers);
    echo '</pre>';

    ?>


    Petit code assez simple pour afficher tous les dossier contenant un fichier index.

    Cependant, je suis actuellement hébergé chez Free (oui, je sais...), et glob a été désactivée il y a de cela un bout de temps...
    Aussi, je chercherai une fonction pour la remplacer.

    Plus précisément, une fontion qui met les dossier sépcifiés dans un array :

    <?php
    $GlobArray = glob('*/index.php');
    ?>


    Si l'un d'entre vous avait la réponse. J'ai essayé avec opendir, mais il ne reconnait pas l'étoile.
    Merci d'avance.
    • Partager sur Facebook
    • Partager sur Twitter
    http://www.eamonntobin.com, réalisé entre autres grâce à OpenClassrooms :)
      14 août 2006 à 20:02:27

      Tu listes les fichiers du site de cette façon, ensuite tu verifis qu'il s'agit de répertoires.
      Tu construis un array contenant les fichiers de chaque repertoire (opendir retourne false si ce n'est pas un dossier), et tu regarde si il ya ce que tu cherches dedans.

      Pour lister les fichiers tu peux faire comme cela.

      C'est un peu lourd, je vais voir si on peut faire mieux sans glob.


      $directory = getcwd();
      $dir = opendir($directory);
      while ($file = readdir($dir)) {
       // ...
      }


      • Partager sur Facebook
      • Partager sur Twitter
        14 août 2006 à 21:41:39

        Merci.
        Vais essayer avec ça, je considère problème résolu :)
        Merci encore.
        Bonne nuit
        • Partager sur Facebook
        • Partager sur Twitter
        http://www.eamonntobin.com, réalisé entre autres grâce à OpenClassrooms :)
          14 août 2006 à 22:15:31

          ya un bouton si le problemme est resolut :-°
          • Partager sur Facebook
          • Partager sur Twitter
            16 août 2006 à 22:28:21

            Citation : webshinra

            yaIl y a un bouton si le problemme est resolut :-°


            Pas de "t" à résolu :-°
            Bon d'accord c'était facile de faire ça :) ... En fait je ne l'ai pas indiqué résolu car je n'étais pas sûr, et j'ai bien fait.
            J'ai un autre problème. J'ai réussi à utiliser le code d'Expreg.com, mais j'ai un autre problème qui arrive.
            Si vous vous souvenez, j'avais un glob pour vérifier certains fichiers... Eh bien je le réutilise normalement pour faire un array qui reprend tout. Si en-dessous de la boucle j'exerce un print_r pour afficher cet array, j'ai tous les dossiers qui s'affichent.

            Citation : Exemple

            Array ( [0] => Dossier1 [1] => Dossier2 [2] => Dossier3 [3] => Dernier_dossier )



            Cependant, avec la méthode trouvée sasn glob, lorsque j'effectue un print_r pendant la boucle, ça s'affiche normalement ([0] => Nom de dossier), mais après la boucle, ça donne :

            Citation : Exemple chez free

            1


            *hum*
            Je ne sais pas pourquoi (certainement une connerie :D) .. Bref, voici le code que j'entre :

            function faux_glob($dos)
            {
                    if(!is_dir($dos)) return false;
                    $ouvrir=opendir($dos);
                   
                    while(false !==($file = readdir($ouvrir)))
                {
                            if($file != '.' && $file != '..')
                    {
                                    if(is_file($dos.'/index.php'))
                                    {
                                            $ArrayPagExist = explode('/',$dos);
                                            $APgsExists[] = $ArrayPagExist[1];
                                    }
                                    else
                                            if(is_dir($dos.'/'.$file))
                                            {
                                                    faux_glob($dos.'/'.$file);
                                            }
                            }
                    }
            }

            $dossier='test';
            faux_glob($dossier);


            Pour info, chaque dossier contenant la page d'index se trouve dans le dossier test.
            J'ai essayé d'afficher, cela donne tout ce qu'il faut... Sauf l'array :-/

            Merci d'avance pour toute réponse :)
            • Partager sur Facebook
            • Partager sur Twitter
            http://www.eamonntobin.com, réalisé entre autres grâce à OpenClassrooms :)
              17 août 2006 à 14:09:57

              Personne pour m'aider ? :euh:
              • Partager sur Facebook
              • Partager sur Twitter
              http://www.eamonntobin.com, réalisé entre autres grâce à OpenClassrooms :)
                19 août 2006 à 20:36:54

                Je n'avance pas... J'ai déjà essayé plusieurs solutions différentes sans trouver ce qu'il fallait...
                Personne n'arriverait ne fut-ce qu'à me mettre sur la bonne piste ?
                • Partager sur Facebook
                • Partager sur Twitter
                http://www.eamonntobin.com, réalisé entre autres grâce à OpenClassrooms :)

                Parcourir un dossier sans glob

                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                • Editeur
                • Markdown