Здравствуйте. Я хотел бы перечислить каталог и подкаталоги (только без файлов) как древовидное меню
<ul class="tree-menu">
<li>Directory I</li>
<ul>
<li>Sub 1</li>
<ul>
<li>sub a</li>
<li>sub b</li>
</ul>
<li>Sub 2</li>
</ul>
<li>Directory II</li>
<li>Directory III</li>
</ul>
Сначала я написал 2 функции для проверки того, что в каталоге есть какой-либо другой каталог, а затем для вывода списка каталогов.и подкаталоги
по отдельности оба работают хорошо, но после первого гнезда в секунду что-то не работает
function dir_is_empty($path)
{
$empty = true;
$dh = @opendir($path);
while (false !== ($file = readdir($dh))) {
if ($file !== "." && $file !== "..") {
if (is_dir($file)) {
$empty = false;
break;
}
}
}
closedir($dh);
return $empty;
}
function getDirectory($path)
{
$ignore = array('cgi-bin', '.', '..');
$dh = @opendir($path);
while (false !== ($file = readdir($dh))) {
if (!in_array($file, $ignore)) {
if (dir_is_empty("$path/$file")) {
if (is_dir("$path/$file")) {
echo "<li>$path/$file</li>";
getDirectory("$path/$file");
}
} else {
echo "<ul>";
if (is_dir("$path/$file")) {
echo "<li>$path/$file</li>";
getDirectory("$path/$file");
}
echo "</ul>";
}
}
}
closedir($dh);
}
getDirectory(".");