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

时间:2012-08-21 19:33:44

标签: 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

2 个答案:

答案 0 :(得分: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";
            }
        }
    }
}

答案 1 :(得分:0)

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

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