初学者:我似乎无法理解它的逻辑。我已经搜索过了,但似乎找到了一个实际目录中的文件和文件夹,即(opendir)。
我的问题是:
我正在尝试(用PHP)如何列出数据库中存储的路径中的文件和子文件夹。(没有任何对文件或目录的访问,所以只从路径名)
例如数据库显示:
main/home/television.jpg
main/home/sofa.jpg
main/home/bedroom/bed.jpg
main/home/bedroom/lamp.jpg
因此,如果我指定main/home
-它将显示:television.jpg
、sofa.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