gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 13:05:34 25 4
gpt4 key购买 nike

如何使用 SPL(可能使用 RecursiveDirectoryIteratorRecursiveIteratorIterator)检索完整的目录树?

最佳答案

默认情况下,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();
}

您也可以通过以下方式创建不带 foreach$fileObjects 数组:

$files[] = iterator_to_array($iterator);

如果你只想返回目录,foreach over the $iterator 像这样:

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

关于php - 如何使用 SPL 检索完整的目录树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2418068/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com