0

初学者:我似乎无法理解它的逻辑。已搜索但似乎从实际目录中列出了文件和文件夹,即。(开放目录)。

我的问题是:

我试图解决(在 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

4

2 回答 2

1
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";
            }
        }
    }
}
于 2012-08-21T19:39:08.560 回答
0

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

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

于 2012-08-21T19:38:01.167 回答