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 :

[Tableaux] Lister tous les répertoires dans une liste


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Par défaut [Tableaux] Lister tous les répertoires dans une liste
    Bonjour,

    Dans mon script je parviens à lister tout les répertoires ainsi que les fichiers, comment dois je faire pour afficher juste les répertoires dans un combobox et qu'en fonction du répertoir choisi il m'affiche tout se qui si trouve dans un autre combo ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    $dir = opendir("C:/Test");
    while (($file = readdir($dir)) !== false)
      {
      echo "filename: " . $file . "<br />";
      }
      closedir($dir);
    ?>

    Merci à vous pour votre aide

  2. #2
    Membre émérite
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Par défaut
    Bonsoir,
    la fonction suivante retournera :

    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
    Array
    (
        [file] => Array
            (
                [0] => test.php
                [1] => index.html
                [2] => index.css
            )
     
        [dir] => Array
            (
                [0] => images
                [2] => scripts
            )
     
    )
    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
    <?php
     
      function DirContents2Array($chemin)
      {
        $dossier = dir($chemin);
     
        while (($entree = $dossier->read()) !== FALSE)
        {  
          if ($entree != '.' && $entree != '..')
          {  
            $lien = $chemin.'/'.$entree;
     
            if (is_dir($lien)) $array['dir'][] = $entree;
            else if (is_link($lien)) $array['link'][] = $entree;
            else if (is_file($lien)) $array['file'][] = $entree;	
          }
        }
     
        $dossier->close();
     
        return $array;
      }
     
    ?>
    Il ne vous restera plus qu'à manipuler le tableau avec un joli foreach.

    Cordialement,
    DaRiaN.

  3. #3
    Membre éclairé
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Par défaut
    Bonsoir,

    super merci à vous
    Pour se qui est du foreach comment dois je m'y prendre ?

    Sorry je suis encore débutant j'essaye de le faire moi même mes pas simple déjà que j'ai ramer pour lister les rép et fichiers.

    PS : je dois faire un echo pour appeller cette fonction ?

    Merci encore de votre aide

  4. #4
    Membre émérite
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Par défaut
    C'est un peu buggé car je ne sais pas ce que vous voulez faire, et pis je suis malade alors...

    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
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    <?php
     
      function DirContents2Array($chemin)
      {
        $dossier = dir($chemin);
     
        while (($entree = $dossier->read()) !== FALSE)
        {  
          if ($entree != '.' && $entree != '..')
          {  
            $lien = $chemin.'/'.$entree;
     
            if (is_dir($lien)) $array['dir'][] = $entree;
            else if (is_link($lien)) $array['link'][] = $entree;
            else if (is_file($lien)) $array['file'][] = $entree;	
          }
        }
     
        $dossier->close();
     
        return $array;
      }
     
      $racine = 'C:/Test';
      $dossiers = DirContents2Array($racine);
     
      if (isset($_POST['dossier'])) $fichiers = DirContents2Array($racine.'/'.$_POST['dossier']);
      else $fichiers = $dossiers;  
     
    ?>
    <form name="form" method="post" action="">
     <select name="dossier">
    <?php foreach ($dossiers['dir'] as $dossier) echo '<option>'.$dossier.'</option>'; ?>
     </select>
     <select name="fichier" size="20">
    <?php foreach ($fichiers['file'] as $fichier) echo '<option>'.$fichier.'</option>'; ?> 
     </select>
     <input type="submit" name="button" value="Lister" />
    </form>

  5. #5
    Membre éclairé
    Inscrit en
    Août 2007
    Messages
    416
    Détails du profil
    Informations forums :
    Inscription : Août 2007
    Messages : 416
    Par défaut
    Super sa fonction merci à vous

    Voici se que je voudrais réaliser :

    J'ai 4 répertoires avec des 3 fichiers .dbf, se que je devrais faire c'est au moment ou je choisi mon rép qu'il me face une ouverture sur les 3 fichiers dbf afin que je puisse faire des requêtes sur c'est fichiers.

    Merci à vous pour votre aide

  6. #6
    Membre émérite
    Profil pro
    Inscrit en
    Août 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 514
    Par défaut
    Je vais vous demander d'être plus clair car je ne comprends pas certains passages de votre message :

    1. [...] qu'il me face une ouverture sur [...]
    2. [...] afin que je puisse faire des requêtes sur [...]


    Merci d'avance.

Discussions similaires

  1. Réponses: 4
    Dernier message: 26/09/2013, 14h56
  2. Réponses: 3
    Dernier message: 10/03/2008, 23h04
  3. Réponses: 6
    Dernier message: 31/07/2006, 17h01
  4. [TWebBrowser] Comment trouver tous les liens dans une page ?
    Par xenos dans le forum Composants VCL
    Réponses: 1
    Dernier message: 16/01/2006, 00h36
  5. Sélectionner tous les entiers dans une fourchette
    Par ludo.guy dans le forum Langage SQL
    Réponses: 5
    Dernier message: 16/07/2004, 10h15

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