English | 简体中文 | 繁體中文
查询

RecursiveDirectoryIterator::__construct()函数—用法及示例

「 创建一个递归目录迭代器对象 」


函数名称: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);

参数说明:

  1. $path:要迭代的目录的路径。
  2. $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(),可根据实际需求选择使用。

补充纠错
热门PHP函数
分享链接