$dirs = scandir("../public_html/");
$subDirArr=array();
foreach ($dirs as $currentIndex => $currentDir) {
if (is_dir($currentDir))
if (!($currentDir[0] == "."))
echo "<a href='../public_html/$currentDir'>$currentDir</a><br/>";
}
所以我有这个代码扫描我服务器上的public_html目录并回显所有子目录(但不是文件),这样我就有了一个指向子目录的可点击链接列表。
我想要做的是当点击其中一个目录时,让它显示IT'S子目录(如果有的话)。我无法弄清楚如何逻辑地这样做。我可以在循环内的循环中编写一个循环等,但是无论我添加多少个目录,我都希望这个代码能够工作。
我怎么能做到这一点?
最终目的是为我的托管文件/文件夹设置一个菜单系统。
答案 0 :(得分:0)
这样的事情应该可以解决问题。您可以根据需要调整功能:
function getDirs($root)
{
foreach (scandir($root) as $dir) {
if ( ! in_array($dir, ['.', '..'])) {
$path = realpath($root . DIRECTORY_SEPARATOR . $dir);
if (is_dir($path)) {
echo $path . PHP_EOL;
getDirs($path);
}
}
}
}
getDirs("../public_html/");