列出目录中的所有文件夹 (PHP)

List all folders in directory (PHP)

如何让我的代码只显示文件夹的链接而不显示目录中的文件?

$d = dir(".");
echo "<ul>";
while(false !== ($entry = $d->read())) {
    echo "<li><a href='{$entry}'>{$entry}</a></li>";
}
echo "</ul>";
$d->close();

您应该可以通过调用 is_dir:

来包装当前代码
while(false !== ($entry = $d->read())) {
    if (is_dir($entry)) {
        echo "<li><a href='{$entry}'>{$entry}</a></li>";
    }
}

如果要删除 "dot" 目录(...),请使用以下命令:

if (is_dir($entry) && !in_array($entry, ['.', '..'])) {
...

只需检查 $entry 是否是一个目录:

$d = dir(".");
echo "<ul>";
while(false !== ($entry = $d->read())) {
if(is_dir($entry))
    echo "<li><a href='{$entry}'>{$entry}</a></li>";
}
echo "</ul>";
$d->close();
$d = dir(".");

echo "<ul>";

while (false !== ($entry = $d->read()))
{
    if (is_dir($entry) && ($entry != '.') && ($entry != '..'))
        echo "<li><a href='{$entry}'>{$entry}</a></li>";
}

echo "</ul>";

$d->close();