PHP-DirectoryIterator遍历目录文件夹下全部文件
很久以前总结果:PHP-遍历目录代码示例
事实上,用DirectoryIterator可以更优雅的实现。
DirectoryIterator类提供了一个用于查看文件系统目录内容的简单接口。
相关的方法:
方法名 | 函数提供什么目录信息? |
---|---|
isDir() | 判断给定的DirectoryIterator item对象是否是一个目录 |
isDot() | 判断当前的DirectoryIterator item对象是否是‘.’或‘..’ |
isFile() | 判断当前的DirectoryIterator item对象是否是一个有效的文件 |
isLink() | 判断当前的DirectoryIterator item对象是否是一个连接 |
isReadable() | 判断当前的DirectoryIterator item对象是否可读 |
isWritable() | 判断当前的DirectoryIterator item对象是否可写 |
isExecutable() | 判断当前的DirectoryIterator item对象是否可执行 |
getATime() | 获取当前Iterator item最后访问时间 |
getCTime() | 获取当前Iterator item最后修改时间 |
getMTime() | 获取当前Iterator item文件数据块最后被写入的时间 |
getFilename() | 获取当前Iterator item文件名(带扩展名) |
getPathname() | 获取当前Iterator item路径名 |
getPath() | 获取当前Iterator item路径名和文件名 |
getGroup() | 获取当前Iterator item组ID |
getOwner() | 获取当前Iterator item拥有者ID |
getPerms() | 获取当前Iterator item权限 |
getSize() | 获取当前Iterator item文件大小 |
getType() | 获取当前Iterator item类型,可能是file,link or dir |
getInode() | 获取当前Iterator item的inode节点号 |
示例代码:
<?php
$dir = new DirectoryIterator(dirname(__FILE__));
foreach ($dir as $fileInfo) {
if ($fileInfo->isdir()) {
echo $fileInfo->getFilename(). "\t" . $fileInfo->getSize()."</br>";
}
}
参考资料:
https://www.php.net/manual/en/class.directoryiterator.php
https://www.cnblogs.com/hltswd/p/6279824.html