我正在尝试递归扫描服务器的目录结构(从DOCUMENT ROOT开始),将内容加载到一个数组中(每个子目录作为不同的值)并输出它。
我不需要将文件存在于数组中 - 只需要目录结构,没有别的。
例如:
[0] => dir 1
[1] => dir 1/subdir 1
[2] => dir 2
等等。
我将如何做到这一点?
答案 0 :(得分:0)
要通过目录进行递归并仅使用内置迭代器列出文件,您需要在路上执行一些检查。
示例located here提供了大量基础代码。但这应该是你正在寻找的。 p>
Having said that, it would be irresponsible not to point out that your question is not considered a good question by StackOverflow standards.将来,如果这些问题被简化并标记为关闭,请不要感到惊讶。
<?php
$directory = '.';
$iterator = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory), RecursiveIteratorIterator::SELF_FIRST);
$dirs = array();
foreach ($iterator as $file) {
$filename = $file->getFilename();
// remove this and check out what happens
if ($filename == '.' || $filename == '..') {
continue;
}
if ($file->isDir()){
$dirs[] = $file->getPathname();
}
}
var_dump($dirs);