Comment afficher le contenu de sous dossiers

mafffff Messages postés 3 Statut Membre -  
ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   -
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. ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   342
     
    // 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
  2. mafffff Messages postés 3 Statut Membre
     
    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. ghuysmans99 Messages postés 2496 Date d'inscription   Statut Contributeur Dernière intervention   342
       
      Mal modifié. Je n'ai JAMAIS MIS is_dir($file) && [...]
      0