初学者:我似乎无法理解它的逻辑。已搜索但似乎从实际目录中列出文件和文件夹,即。 (执行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
。
答案 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)
如果文件名是目录,您可能希望检查每次迭代。如果是,打开它并读取其内容并输出。在这种情况下,递归函数最有效。