par

Comment faire pour lister le contenu d'un répertoire en PHP ?

2 Réponses

+1 validé
par

Voici une fonction en PHP qui permet de lister le contenu, fichiers et dossiers, d'un répertoire. La fonction utilise les fonctions PHP natives suivantes :

Placez le script PHP suivant dans le répertoire dont vous voulez voir le contenu et lister les fichiers et sous-dossiers.

<?php
error_reporting(E_ALL);
ini_set("display_errors", 0);

function lister_fichiers($rep)  
{  
	if(is_dir($rep))  
	{  
		if($iteration = opendir($rep))  
		{  
			while(($fichier = readdir($iteration)) !== false)  
			{  
				if($fichier != "." && $fichier != ".." && $fichier != "Thumbs.db")  
				{  
					echo '<a href="'.$rep.$fichier.'" target="_blank" >'.$fichier.'</a><br />'."\n";  
				}  
			}  
			closedir($iteration);  
		}  
	}  
} 

lister_fichiers("./");
?>
+1 validé
par

Si vous voulez lister le contenu du répertoire de manière récursive, et afficher tous les sous-dossiers et leurs contenus, utilisez la fonction suivante :

<?php
error_reporting(E_ALL);
ini_set("display_errors", 0);

function getDirrecurse($path = '.', $level = 0)
{
	$ignore = array('cgi-bin', '.', '..');
	$dir = @opendir($path);
		while(false !== ($file = readdir($dir)))
		{ 
			if(!in_array($file, $ignore))
			{     
				$spaces = str_repeat('&nbsp;', ($level*4));	 
				if(is_dir("$path/$file"))
				{ 
					echo "<strong>$spaces $file</strong><br />"; 
					getDirrecurse( "$path/$file", ($level+1));       
				} 
				else 
				{ 
					echo "$spaces $file<br />"; 
				}
			}
		}
	closedir($dir); 
}

getDirrecurse();
?>

Prêtez une attention particulière à la ligne suivante :

$ignore = array('cgi-bin', '.', '..');

Ajoutez y éventuellement des noms de répertoires qui devraient être exclus. Par ailleurs $spaces et $level ne sont utilisés que pour gérer l'affichage. Vous pouvez les shunter si nécessaire.

Tendances sur le Web

Lecture Recommandée

Edward Snowden - Mémoires vives

"Je m'appelle Edward Joseph Snowden. Avant, je travaillais pour le gouvernement mais aujourd'hui je suis au service de tous. Il m'a fallu près de trente ans pour saisir la différence et quand j'ai compris, ça m'a valu quelques ennuis au bureau."

L'homme qui a tout risqué pour dénoncer la surveillance globale, ou l'extraordinaire histoire d'un garçon brillant qui a grandi "en ligne", d'un homme devenu espion, puis lanceur d'alerte, et, en exil, la consciencce de l'internet.

Mémoires vives est un témoignage exceptionnel, également disponible en numérique.

Sujets Connexes

Questions liées

1 réponse
1 réponse
posée par anonyme 26-Juillet-2019
1 réponse
posée par anonyme 05-Septembre-2018
1 réponse
1 réponse
1 réponse
1 réponse
posée par anonyme 27-Aout-2018

Merci pour votre visite sur 1FORMATIK.com

Un petit clic sur la pub est toujours apprécié, c'est elle qui finance le site

Bon surf

...