如何使用SPL检索完整目录树?

如何使用SPL检索完整目录树?,第1张

如何使用SPL检索完整目录树?

默认情况下,

RecursiveIteratorIterator
LEAVES_ONLY
用于的第二个参数
__construct
。这意味着它将仅返回文件。如果要包括文件
目录(至少这是我认为的 完整 目录树),则必须执行以下 *** 作:

$iterator = new RecursiveIteratorIterator(    new RecursiveDirectoryIterator($path),    RecursiveIteratorIterator::SELF_FIRST);

然后您就可以

foreach
结束它。如果要返回目录树而不是输出它,则可以将其存储在数组中,例如

foreach ($iterator as $fileObject) {    $files[] = $fileObject;    // or if you only want the filenames    $files[] = $fileObject->getPathname();}

您还可以通过执行以下 *** 作来创建

$fileObjects
没有的数组
foreach

$files[] = iterator_to_array($iterator);

如果只想返回目录,

foreach
$iterator
可以这样:

foreach ($iterator as $fileObject) {    if ($fileObject->isDir()) {        $files[] = $fileObject;    }}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5621549.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存