php目录遍历递归迭代器--RecursiveDirectoryIterator

2021-03-23

提供一个接口,在文件系统的目录遍历递归,继承FilesystemIterator

创建

// 根据$path创建一个文件系统迭代器,$flag可以影响某些方法的行为,$flag与FilesystemIterator相同
$recursiveDirectoryIterator = new RecursiveDirectoryIterator($path, $flags);

迭代

// 将迭代器前进一项
$recursiveDirectoryIterator->next();

// 将迭代器倒回开头
$recursiveDirectoryIterator->rewind();

获取子目录迭代器

// 如果当前条目是目录,则返回当前条目的迭代器
$recursiveDirectoryIterator->getChildren();

获取目录路径

// 返回相对于构造函数中给定目录的子路径
$recursiveDirectoryIterator->getSubPath();

// 获取子路径和文件名
$recursiveDirectoryIterator->getSubPathname();

// 获取当前目录条目的路径和文件名
$recursiveDirectoryIterator->key();

验证目录

// 返回当前条目是否是目录而不是'.'或者 '..'
$recursiveDirectoryIterator->hasChildren($allow_links = false);

 

{/if}