PHP 带有条件 foreach 的 Scandir

PHP Scandir with a conditioned foreach

我想创建一个 scandir 命令,它将

  • 打印到每个文件夹
  • 。 只有一个问题,如果名称是 XYZ,我需要跳过一个特定的文件夹。

    你能告诉我应该走的路线吗?从哪里开始?

    谢谢

    我不确定我是否完全理解你的问题,但根据我的理解,我做了这个:

    <?php
    
    $skip = "b";
    
    echo "<ul>";
    foreach(scandir(".") as $dir) {
        if (is_dir($dir) && $dir != $skip) {
            echo "<li>$dir</li>";
        }
    }
    echo "</ul>";
    
    ?>
    

    上面的代码将列出每个目录,包括 ...,不包括目录 b.

    您也可以像这样排除 ...

    <?php
    
    $skip = "b";
    
    echo "<ul>";
    foreach(scandir(".") as $dir) {
        if (is_dir($dir) && $dir != $skip && $dir != "." && $dir != "..") {
            echo "<li>$dir</li>";
        }
    }
    echo "</ul>";
    
    ?>
    

    给定目录结构:

    • .
    • ..
    • 一个
    • b
    • c
    • d
    • e

    第一个代码片段将显示:

    • .
    • ..
    • 一个
    • c
    • d
    • e

    第二个将打印:

    • 一个
    • c
    • d
    • e

    我希望这已经回答了你的问题。