Niveau
..........
En rapport...

Répertoire et sous répertoire

Il arrive que l'on soit amené a lister tous les fichiers d'un répertoire de façon récursive (dossier + sous dossier)
Php ne propose pas nativement ce genre de possibilité (a moins que je ne l'ai pas trouvé ?)
Voici donc une fonction qui vous permet de le faire.

Code

php
<?php
function GetAllFiles($folder,$ext=array('txt'),$recursif=true) {
 
	$files = array();
	$dir=opendir($folder);
	while ($file = readdir($dir)) {
		if ($file == '.' || $file == '..') continue;
		if (is_dir($folder.'/'.$file)) {
			if ($recursif==true)
				$files=array_merge($files, GetAllFiles($folder.'/'.$file, $ext));
		} else {
			foreach ($ext as $v) {
				if (strtolower($v)==strtolower(substr($file,-strlen($v)))) {
					$files[] = $folder.'/'.$file;
					break;
				}
			}
		}
	}
	closedir($dir);
	return $files;
}
?>
Le 1er paramètre est le dossier “racine” a parcourir.
Le 2eme est un tableau qui contient toutes les extensions de fichier a inclure. (ex : array('php','txt','asp') )
Le 3eme parametre permet de désactiver la leccture des sous-dossiers (si il est a false)

utilisation

On ne peu faire plus simple :

php
$a=GetAllFiles('.');
//ou
$a=GetAllFiles('.',array('php'));
GetAllFiles renvoie une variable de type array qui contient la liste de tous les fichiers trouvé.

iDo 20/04/2006 12:32