在PHP中列出数据库中的文件和子文件夹


List files and subfolders from database in PHP

初学者:我似乎无法理解它的逻辑。我已经搜索过了,但似乎找到了一个实际目录中的文件和文件夹,即(opendir)。

我的问题是:

我正在尝试(用PHP)如何列出数据库中存储的路径中的文件和子文件夹。(没有任何对文件或目录的访问,所以只从路径名)

例如数据库显示:

main/home/television.jpg
main/home/sofa.jpg
main/home/bedroom/bed.jpg
main/home/bedroom/lamp.jpg

因此,如果我指定main/home-它将显示:television.jpgsofa.jpg和子文件夹的名称:bedroom

scanFolder('main/home');
function scanFolder($dir) {
    foreach (scandir($dir) as $file) {
        if (!in_array($file, array('.', '..'))) {
            if (is_dir($file)) {
                scanFolder($dir . '/' . $file);
            }
            else {
                echo $dir . '/' . $file . "'n";
            }
        }
    }
}

您可能需要在每次迭代中检查文件名是否为目录。如果是,打开它,读取其中的内容并输出。递归函数在这种情况下效果最好。

http://php.net/manual/en/function.is-dir.php