Lister des répertoires

Petite astuce simple et en une seule ligne, s'il vous plaît, pour lister des répertoires en PHP sans récupérer nos chers et tendres " .. " et " . " :

$array = array_diff(scandir('/var/mon/chemin'), array('..', '.'));


Le souci, si cela en est un pour vous, c'est que notre tableau ne commence pas ses clés à 0 mes à 2 comme ci-dessous après un var_dump de notre tableau :

array(3) {
	  [2]=>
	  string(3) "dir1"
	  [3]=>
	  string(3) "dir2"
	  [4]=>
	  string(3) "dir3"
	}


On peut résoudre ce problème en ré-indexant les clés du tableau pour qu'elle reparte à 0 toujours en une seule ligne, et oui :

$array = array_values(array_diff(scandir('/var/mon/chemin'), array('..', '.')));


Et voilà, le tour est joué :

array(3) {
	  [0]=>
	  string(3) "dir1"
	  [1]=>
	  string(3) "dir2"
	  [2]=>
	  string(3) "dir3"
	}


Bon code ;-)

blog comments powered by Disqus