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

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