Lecture de tous les sous dossiers et fichiers d'un répertoire

Contenu du snippet

Ce script affiche tous les fichiers,répertoires et sous répertoires d'un dossier.Je l'ai codé dans l'optique de faire un audit de fichiers ou de dossiers modifiés dans un site web, le but final ce cette source étant de pouvoir monitorer les changements fait sur des fichiers ou des répertoires...
Les répertoires ne sont pas classés , à vous de le faire.
PS: Ce n'est pas un explorateur ce script donne une vision éclaté de l'arborescence.

Source / Exemple :


<style>
.fichier {
font-weight:bold;
font-size: 11px;
font-family: arial, sans-serif;
color:#000000;

}
.dossier {
font-weight:bold;
font-size: 12px;
font-family: arial, sans-serif;
color:#009900;
}
</style>
<?php
function scan($rep)
  {
	$dir = opendir($rep); 
     if($dir) // suite au commentaire
       {
	while (false !== ($f = readdir($dir))) //lecture du contenu ,prend en compte si le fichier est nommé 0 et n'arrete la boucle merci pour cette remarque très judicieuse :)
	{
	   if(is_file($rep.$f)) 
	   {
	  
	   echo '<span class="fichier">|__'.$f.'</span><br />';
			 	
	   }
		if(is_dir($rep.$f) && $f!=".." && $f!="." ) // on regarde si il ya des sous répertoires si oui on recommence la fonction.
		{
		   	echo '<ul><span class="dossier">'.$f.'</span><br />';

		        $new_dir=realpath($rep.$f); ///chemin absolu du répertoire
	
			scan("$new_dir/"); //fonction récurrente qui prend le chemin absolu du dossier et le scanne à nouveau.
		}
	 } 
   }
echo "</ul>";
 }
scan("./");///Utilisation de la fonction (on part de la racine du répertoire)

?>

Conclusion :


Je posterai l'intégralité de mon script d'audit de répertoire très bientot...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.