Lister un répertoire de dossiers
                    
        
     
             
                    rivka95
    
        
    
                    Messages postés
            
                
     
             
            86
        
            
                                    Statut
            Membre
                    
                -
                                     
rivka95 Messages postés 86 Statut Membre -
        rivka95 Messages postés 86 Statut Membre -
        Bonjour, 
Je sais que la fonction readdir() permet de lister le contenu d'un dossier à télécharger.
Maintenant je souhaite pouvoir ouvrir un dossier contenant des fichiers et des dossiers qui contiennent eux mêmes des fichiers.
Quelqu'un saurait-il m'aider ???
Merciii !
Lynda
                
            
                
    
    
    
        Je sais que la fonction readdir() permet de lister le contenu d'un dossier à télécharger.
Maintenant je souhaite pouvoir ouvrir un dossier contenant des fichiers et des dossiers qui contiennent eux mêmes des fichiers.
Quelqu'un saurait-il m'aider ???
Merciii !
Lynda
        A voir également:         
- Lister un répertoire de dossiers
- Mettre un mot de passe sur un dossier - Guide
- Impossible de supprimer un dossier - Guide
- Répertoire téléphonique gratuit - Télécharger - Bureautique
- Lister les disques cmd - Guide
- Liste déroulante de choix excel - Guide
5 réponses
                        
                    Merci pour ta réponse, je découvre la fonction et je cherche en fonction de ce que tu me conseilles mais ne suis pas certaine de bien comprendre. Si tu peux me donner plus de détails...
Ci-après mon code pour plus de clarté :
$dir_nom = 'nom_du_dossier';
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas');
$fichier= array();
$dossier= array();
while($element = readdir($dir)) {
if($element != '.' && $element != '..') {
if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
else {$dossier[] = $element;}
}
}
closedir($dir);
if(!empty($fichier)){
sort($fichier);
echo '<div class="style_css">Liste des fichiers '.$dir_nom.' :</div>';
echo "\t\t<ul>\n";
foreach($fichier as $lien) {
echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
}
echo "\t\t</ul>";
}
merci à toi !
    
                Ci-après mon code pour plus de clarté :
$dir_nom = 'nom_du_dossier';
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas');
$fichier= array();
$dossier= array();
while($element = readdir($dir)) {
if($element != '.' && $element != '..') {
if (!is_dir($dir_nom.'/'.$element)) {$fichier[] = $element;}
else {$dossier[] = $element;}
}
}
closedir($dir);
if(!empty($fichier)){
sort($fichier);
echo '<div class="style_css">Liste des fichiers '.$dir_nom.' :</div>';
echo "\t\t<ul>\n";
foreach($fichier as $lien) {
echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
}
echo "\t\t</ul>";
}
merci à toi !
                        
                    coucou 
mais je te conseille d'utiliser cette petite fonction si tu veux la listes des fichiers et sous dossier :
donc pour l'exemple :
si tu veux un exemple :)
http://www.nacatiks.com/ccm/p2/
Admire la personne qui te critique , car prisonniere de ca propre jalousie elle ne fais que t admirer
    
                
# le dossier que tu veux repertorier
$dir_nom = '../../ccm/';
$dir = opendir($dir_nom) or die('Erreur de listage : le répertoire n\'existe pas'); # test d'existance
$fichier= array(); # tableau des fichiers
$dossier= array(); # tableau des dossiers
//tant qu'il y a un fichier a lire
while($element = readdir($dir)) 
{
 # $element c'est le  nom du fichier mais il y a aussi le . et ..
 # donc si c'est differents de . et ..
 if($element != '.' && $element != '..')
 {
  # is_dir permet de savoir si c'est chemin relatif donc en gros 
  # is_dir('a_file.txt') retourne faux
  # is_dir('..') retourne vrai
  if (!is_dir($dir_nom.'/'.$element)) 
  {
   # on sais que c'est un fichier
   $fichier[] = $element;
  }
  else 
  {
   # on sais que c'est un dossier
   $dossier[] = $element;
  }
 }
}
# on ferme le dossier d'ouverture
closedir($dir);
# si le fichiers ne sont pas vides
if(!empty($fichier))
{
 # sort permet de trier les fichiers du plus petit au plus grand
 sort($fichier);
 echo '<div class="style_css">Liste des fichiers '.$dir_nom.' :</div>';
 echo "\t\t<ul>\n";
 foreach($fichier as $lien) {
 echo "\t\t\t<li><a href=\"$dir_nom/$lien \">$lien</a></li>\n";
 }
 echo "\t\t</ul>";
}
 
mais je te conseille d'utiliser cette petite fonction si tu veux la listes des fichiers et sous dossier :
function ScanDirectory($Directory){
  $MyDirectory = opendir($Directory) or die('Erreur');
        while($Entry = @readdir($MyDirectory)) {
                if(is_dir($Directory.'/'.$Entry)&& $Entry != '.' && $Entry != '..') {
      echo '<ul>'.$Directory;
                        ScanDirectory($Directory.'/'.$Entry);
                        echo '</ul>';
                }
                else 
    {
     if($Entry!='.' && $Entry!='..')
     {
                        echo '<li>'.$Entry.'</li>';
     }
                }
        }
  closedir($MyDirectory);
}
 
donc pour l'exemple :
ScanDirectory('adresse du dossier racine');
si tu veux un exemple :)
http://www.nacatiks.com/ccm/p2/
Admire la personne qui te critique , car prisonniere de ca propre jalousie elle ne fais que t admirer
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question