如何显示目录和所有子目录中的文件?

how to show files from directory and all subdirectories?

当用户可以上传照片并选择类别时,我正在处理我的照片库。我的类别是 images/ 中的子目录。当用户不选择类别时,照片将存储在 images/ 中。我想在图库中显示所有照片(来自所有类别和其他类别),但现在我设法只显示这些没有类别的照片。有人能帮我吗? 这是我的 php 代码片段

 $fo=opendir("images");

        if ($dh = opendir("images")){

        $count = 1;

        while($file=readdir($fo)){


            if($file!="" && $file!="." && $file!=".."){
                        $image_path = "images/".$file;

                if(!is_dir($image_path)){
    ?>
                      <div class="gallery"> 

                <a href="<?= $image_path; ?>">
                <img src="<?= $image_path; ?>">

我尝试列出所有子目录

$directories = glob("images" . '/*' , GLOB_ONLYDIR);

但我不知道下一步该做什么

您应该使用 RecursiveDirectoryIterator,请参阅 https://www.php.net/manual/en/class.recursivedirectoryiterator.php

然后您可以执行以下操作:

$folder = "path to your folder";

$files = new RecursiveIteratorIterator(
            new RecursiveDirectoryIterator($folder, RecursiveDirectoryIterator::SKIP_DOTS),
            RecursiveIteratorIterator::CHILD_FIRST
        );

        foreach ($files as $fileinfo) {

            // fileinfo is an object, see documentation for info
            $path = $fileinfo->getRealPath();

        }