很久以前总结果: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
如您从本文得到了有价值的信息或帮助,请考虑扫描下方二维码捐赠和鼓励。
如本文对您有用,捐赠和留言 将是对我最好的支持~(捐赠可转为站内积分)
如愿意,请向朋友推荐本站,谢谢。
尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。
留言