Comment afficher le contenu de sous dossiers

Bonjour,   
Je voudrai afficher en PHP la structure suivante:  
Documents  
    Cours  
        maths  
              exponentielles.pdf  
              exos  
                  logarithmes.doc  
        anglais  
              verbes irréguliers.pdf  
    Images  
         fond d'écran  
              img0009.jpg  
              img4445.jpg  
         vac  
              IMG4436.jpg  
              IMG455.png  

Voici mon code:  
<?php  
function list_dir($name)   
{  
 // Ouvre le dossier $name et récupère le pointeur $dir dessus  
 if($dir = opendir($name))   
 {  
  // Lit une entrée du dossier identifié par $dir  
  while($file = readdir($dir))   
  {  
   // Affichage des noms de fichiers  
   echo $file,"<br/>";  
     
   // Si le dossier n'est pas le dossier actuel ni le dossier parent  
   if(is_dir($file) && $file != '.' && $file != '..')  
   {  
    // Affichage du contenu des dossiers  
    list_dir($file);  
   }  
    
  }  
    // Ferme le pointeur de dossier $dir  
 closedir($dir);  
 }  
}  
list_dir(".");  
?>   

Le problème c'est qu'il m'affiche que ça:   
Cours  
    maths   
    anglais  
Images  
    fond d'écran  
    vac  

Comment faire pour afficher le contenu de maths, anglais, fond d'écran et vac ?
Merci d'avance de vos réponses

2 réponses

  1. Contributeur
    // Si le dossier n'est pas le dossier actuel ni le dossier parent  
    if($file != '.' && $file != '..')  
    {  
      if (is_dir($file)) list_dir($file); //Affichage du contenu du sous-dossier
      else echo $file,"<br/>"; //Affichage du nom du fichier
    }  
    0
    1. Bonjour,
      Merci pour votre aide, j'ai modifié mon code:
      <?php
      function list_dir($name) 
      {
      	// Ouvre le dossier $name et récupère le pointeur $dir dessus
      	if($dir = opendir($name)) 
      	{
      		// Lit une entrée du dossier identifié par $dir
      		while($file = readdir($dir)) 
      		{
      			// Si le fichier est un dossier et qu'il n'est pas le dossier actuel ni le dossier parent
      			if(is_dir($file) && $file != '.' && $file != '..')
      			{
      				// Affichage du contenu du sous dossier
      				list_dir($file);
      			}
      			else
      			{
      				// Affichage du nom du fichier
      				echo $file,"<br/>";
      			}
      		}
          // Ferme le pointeur de dossier $dir
      	closedir($dir);
      	}
      }
      list_dir(".");
      ?>

      Mais il ne m'affiche toujours pas le contenu de de maths, anglais, fond d'écran et vac :(
      0
      1. Contributeur
        Mal modifié. Je n'ai JAMAIS MIS is_dir($file) && [...]
        0