函数名:FilesystemIterator::setFlags()
函数说明:该函数用于设置FilesystemIterator对象的标志位。
参数:
- flags:要设置的标志位,可以是以下常量的组合:
- FilesystemIterator::CURRENT_AS_FILEINFO:将当前项作为SplFileInfo对象返回。
- FilesystemIterator::CURRENT_AS_PATHNAME:将当前项作为字符串返回。
- FilesystemIterator::KEY_AS_PATHNAME:将键名作为字符串返回。
- FilesystemIterator::KEY_AS_FILENAME:将键名作为文件名返回。
返回值:无
示例:
// 创建FilesystemIterator对象
$iterator = new FilesystemIterator('/path/to/directory');
// 设置标志位,将当前项作为SplFileInfo对象返回,并将键名作为文件名返回
$iterator->setFlags(FilesystemIterator::CURRENT_AS_FILEINFO | FilesystemIterator::KEY_AS_FILENAME);
// 遍历目录中的文件和子目录
foreach ($iterator as $fileinfo) {
// 输出文件名和扩展名
echo $fileinfo->getFilename() . ' (' . $fileinfo->getExtension() . ')<br>';
}
在上面的示例中,我们首先创建了一个FilesystemIterator对象,指定了要遍历的目录路径。然后,使用setFlags()函数设置了标志位,将当前项作为SplFileInfo对象返回,并将键名作为文件名返回。最后,使用foreach循环遍历目录中的文件和子目录,输出每个文件的文件名和扩展名。
注意:在使用setFlags()函数之前,必须先创建FilesystemIterator对象。