function tree($dir='.',$files=false){
if (!isset($dossiers[0]) || $dossiers[0]!=$dir){$dossiers[0]=$dir;}
if (!is_dir($dir)&&$files){ return array($dir); }
elseif (!is_dir($dir)&&!$files){return array();}
$list=glob($dir.'/*');
# retrait des fichiers si demandé
if (!$files){
foreach($list as $key=>$val){ if (is_file($val)){unset($list[$key]);} }
}
# scanne chaque sous dossier récursivement
foreach ($list as $dossier) {
// pour un tableau reproduisant la structure de l'arborescence
// remplacer la ligne ci-dessous par
// $dossiers[]=tree($dossier);
$dossiers=array_merge($dossiers,tree($dossier,$files));
}
return $dossiers;
}