PHP遍历目录实现方法介绍

opendir – 打开一个目录句柄,可用于之后的 closedir(),readdir() 和 rewinddir() 调用中。

语法:resource opendir (string path [, resource context] )

readdir – 从目录句柄中读取条目。返回当前目录指针位置的文件名,没有返回 false,并将指针向下移动一位。文件名以在文件系统中的排序返回。

语法:string readdir (resource dir_handle)

closedir – 关闭目录句柄。关闭由 dir_handle 指定的目录流。流必须之前被 opendir() 所打开。

语法:void closedir (resource dir_handle)

rewinddir – 倒回目录句柄。将 dir_handle 指定的目录流重置到目录的开头。

语法:void rewinddir (resource dir_handle)

    //遍历指定目录实例
    $num=0;                                 //用来统计子目录和文件的个数
    $dirname='phpMyAdmin';              //定义一个目录名
    $dir_handle=opendir($dirname);      //用opendir打开目录
    //将遍历的目录和文件名使用表格格式输出
    while($file=readdir($dir_handle)) {     //使用readdir循环读取目录里的内容
        $dirFile=$dirname."/".$file;            //追加目录名
        echo "文件名: ".$file." | ";                   //显示文件名
        echo "大小: ".filesize($dirFile)." | ";         //显示文件大小
        echo "类型: ".filetype($dirFile)." | ";         //显示文件类型
        echo "创建时间: ".date("Y/n/t",filectime($dirFile))."<br/>";
        num++;
    }
    closedir($dir_handle);          //关闭文件操作句柄
    echo ‘在<b>'.$dirname.‘</b>目录下共有文件<b>'.$num.'</b>个';
// glob.php
foreach(glob("phpmyadmin/*") as $filename ) {
    echo $filename."<br>";
}
    //test.php
    //打开目录资源
    $dir = opendir("phpmyadmin");
    while($filename = readdir($dir)) {
        //不要操作.和..
        if($filename!="." && $filename!="..") {
            //一定要注意路径, 找对才可以
            $filename = "./phpmyadmin/".$filename;
            if(is_dir($filename)) {
                echo "目录:".$filename."<br>";
            } else {
                echo "文件:".$filename."<br>";
            }
        }
    }
    rewinddir($dir);
    echo "@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@<br>";
    while($filename = readdir($dir)) {
        //不要操作.和..
        if($filename!="." && $filename!="..") {
            //一定要注意路径, 找对才可以
            $filename = "./phpmyadmin/".$filename;
            if(is_dir($filename)) {
                echo "目录:".$filename."<br>";
            } else {
                echo "文件:".$filename."<br>";
            }
        }
    }
    //关闭这个资源
    closedir($dir);

原文地址:https://blog.csdn.net/my_study_everyday/article/details/129023792