函数名称:RecursiveDirectoryIterator::__construct()
适用版本:PHP 5 >= 5.3.0, PHP 7
函数描述:RecursiveDirectoryIterator::__construct()
函数用于创建一个递归目录迭代器对象。
用法:
$dir = new RecursiveDirectoryIterator($path, $flags = FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS);
参数说明:
$path
:要迭代的目录的路径。$flags
(可选):设置迭代器行为的标志。默认为FilesystemIterator::KEY_AS_PATHNAME | FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::SKIP_DOTS
。可以使用位运算符|
来组合多个标志。
标志说明:
FilesystemIterator::KEY_AS_PATHNAME
:返回的键名为文件的完整路径。FilesystemIterator::CURRENT_AS_FILEINFO
:返回的值为SplFileInfo
对象,包含文件信息。FilesystemIterator::SKIP_DOTS
:跳过 "." 和 ".." 目录。
示例:
$path = '/path/to/directory';
$dir = new RecursiveDirectoryIterator($path);
foreach (new RecursiveIteratorIterator($dir) as $file) {
echo $file->getPathname() . PHP_EOL;
}
以上示例创建了一个递归目录迭代器对象,并使用 RecursiveIteratorIterator
遍历所有文件和子目录。每次迭代,$file
是一个 SplFileInfo
对象,可以通过 $file->getPathname()
获取文件的完整路径,并进行相应的操作。
注意:RecursiveDirectoryIterator
类还提供了其他一些方法和属性,如 getChildren()
、hasChildren()
、getSubPath()
、getSubPathname()
,可根据实际需求选择使用。