1

概要

相信小伙伴们,经常会有遍历目录下文件列表的需求吧?以前的做法,往往是open一个目录,然后去遍历。今天想介绍一种新的实现方法——借助DirectoryIterator类

新的方案

DirectoryIterator实现了Iterator接口。遍历目录时很方便,分享给大家!
外部调用DirectoryIterator时,传入一个目录路径字符串,实例化DirectoryIterator类。
用foreach或者while遍历目录

foreach遍历

<?php
//遍历目录下的所有文件
$dir = new DirectoryIterator(dirname(__FILE__));
//1、foreach直接循环
foreach ($dir as $file){
    if($file->isFile()){
        echo $file->getFilename()."<br />";
    }
}

while循环遍历

//2、while循环
while($dir->valid()){
    if($dir->current()->isFile()){
        echo $dir->current()->getFilename()."<br />";
    }
    $dir->next();
}

Charles
410 声望25 粉丝

14年入行,后端开发