一个php函数,能够遍历一个文件夹下的所有文件和子文件夹 。

来源:互联网 发布:进程调度算法流程图 编辑:程序博客网 时间:2024/05/29 10:10

这个函数是别人写的,我整理了一下,加了很多注释。
函数说明:
本函数执行过程:
检测目录->打开目录->读取目录->去除特殊目录->判断子目录里是否还存在文件->如是,再次调用->如不是,将文件条目放入数组->关闭文件夹->返回文件夹条目。

<?php    /**    * 将读取到的目录以数组的形式展现出来    * @return array    * opendir() 函数打开一个目录句柄,可由 closedir(),readdir() 和 rewinddir() 使用。    * is_dir() 函数检查指定的文件是否是目录。    * readdir() 函数返回由 opendir() 打开的目录句柄中的条目。    * @param array $files  所有的文件条目的存放数组    * @param string $file  返回的文件条目    * @param string $dir  文件的路径    * @param resource $handle  打开的文件目录句柄    */    function my_scandir($dir){        //定义一个数组        $files=array();        //检测是否存在文件        if(is_dir($dir)){            //打开目录            if($handle=opendir($dir)) {                //返回当前文件的条目                while(($file=readdir($handle))!==false){                    //去除特殊目录                    if($file!="." && $file!=".."){                         //判断子目录是否还存在子目录                        if(is_dir($dir."/".$file)){                            //递归调用本函数,再次获取目录                            $files[$file]=my_scandir($dir."/".$file);                         }else {                            //获取目录数组                            $files[]=$dir."/".$file;                         }                     }                 }                 //关闭文件夹                closedir($handle);                //返回文件夹数组                return $files;             }                }       }    echo "<pre>";    print_r(my_scandir("你电脑里面可执行的目录"));
0 0