note 88740 deleted from function.opendir by danbrown
| From: | danbrown@php.net | Date: | Thu, 05 Feb 2009 17:03:46 +0000 |
| Subject: | note 88740 deleted from function.opendir by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-150265@lists.php.net to get a copy of this message | ||
Note Submitter: gabriele ghirimoldi
----
My easyest way to recursively walk a directory
function folder_tree($dir) {
if(!is_dir($dir))
return false;
if($handle = opendir($dir)) {
echo "<ul>";
while (false !== ($file = readdir($handle))) {
if($file == '.' || $file == '..' || $file == '_thumbs')
continue;
if(is_dir($dir.$file)) {
echo '<li class="folder">'.$file."\r";
if(has_children($dir.$file."/") == true) {
folder_tree($dir.$file."/");
} else {
echo "</li>";
}
}
}
if($dir == ".") echo "</ul>";
else echo "</ul></li>";
closedir($handle);
}
}
function has_children($dir) {
$check = false;
if($handle = opendir($dir)) {
while (false !== ($file = readdir($handle))) {
if($file == '.' || $file == '..') continue;
if(is_dir($dir.$file)) {
$check = true;
break;
}
}
}
closedir($handle);
return $check;
}