DirectoryIterator 是 PHP 提供的一个用于遍历目录中文件的类,实现了 Iterator 接口,允许你按顺序迭代目录中的文件。以下是一些 DirectoryIterator 类的主要方法和属性:
构造函数
__construct($path): 创建DirectoryIterator的实例。传入参数$path是目录的路径。
方法
current(): 返回当前迭代的文件或目录的SplFileInfo对象。key(): 返回当前迭代的文件或目录的名称。next(): 将迭代器指向下一个文件或目录。rewind(): 将迭代器指向目录的第一个文件或目录。valid(): 检查当前迭代位置是否有效。getBasename(): 获取当前文件或目录的基本名称。getFilename(): 获取当前文件或目录的名称。isDir(): 检查当前迭代的是否是目录。isFile(): 检查当前迭代的是否是文件。isLink(): 检查当前迭代的是否是符号链接。getExtension(): 获取当前文件的扩展名。getPath(): 获取当前文件或目录的路径。getSize(): 获取当前文件的大小(字节数)。getType(): 获取当前文件或目录的类型。isDot(): 检查当前迭代是否是'.'或'..'。
示例
以下是一个简单的示例,演示如何使用 DirectoryIterator 遍历目录:
$dir = ‘/path/to/your/directory’;
$iterator = new DirectoryIterator($dir);
foreach ($iterator as $fileInfo) {
if (!$fileInfo->isDot()) {
echo ‘Name: ‘ . $fileInfo->getFilename() . PHP_EOL;
echo ‘Path: ‘ . $fileInfo->getPath() . PHP_EOL;
echo ‘Size: ‘ . $fileInfo->getSize() . ‘ bytes’ . PHP_EOL;
echo ‘Type: ‘ . ($fileInfo->isDir() ? ‘Directory’ : ‘File’) . PHP_EOL;
echo ‘——————–‘ . PHP_EOL;
}
}