我发现我可以在 php 中使用以下代码获取该文件夹的所有子目录
$address = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($root, RecursiveDirectoryIterator::SKIP_DOTS),
RecursiveIteratorIterator::SELF_FIRST,
RecursiveIteratorIterator::CATCH_GET_CHILD // Ignore "Permission denied"
);
并将其放入$地址中。
如何再添加一项条件并判断子目录中是否包含“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;
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)