gpt4 book ai didi

php - 如何在 php 中获取所有具有特定文件夹名称的子目录?

转载 作者:可可西里 更新时间:2023-11-01 00:22:18 26 4
gpt4 key购买 nike

我发现我可以在 php 中使用以下代码获取文件夹的所有子目录

$address = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($root, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::SELF_FIRST,
RecursiveIteratorIterator::CATCH_GET_CHILD // Ignore "Permission denied"
);

并将其放入 $address 中。

我如何再添加一个条件并说明如果子目录中包含“tmp”文件夹,然后将其放入 $address 中?

最佳答案

您可以创建自己的RecursiveFilterIterator

$dir = new RecursiveDirectoryIterator(__DIR__, 
RecursiveDirectoryIterator::SKIP_DOTS);

$address = new RecursiveIteratorIterator(new TmpRecursiveFilterIterator($dir),
RecursiveIteratorIterator::SELF_FIRST,
RecursiveIteratorIterator::CATCH_GET_CHILD);


foreach($address as $dir) {
echo $dir,PHP_EOL;
}

使用的类

class TmpRecursiveFilterIterator extends RecursiveFilterIterator {
public function accept() {
$file = $this->current();
if ($file->isDir()) {
return is_dir("$file/tmp");
}
return false;
}
}

关于php - 如何在 php 中获取所有具有特定文件夹名称的子目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16389012/

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