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;
}
}