PHP遍历文件夹

<?php
    /*
        遍历文件夹
        @author lzg 2016-12-11
        @ $dir 文件夹路径
        @ 输出该文件夹下的文件名称和文件夹名称
        
     */
    function read_dir($dir){
        header("content-type:text/html;charset=utf-8");
        //文件名称
        $file_array=array();
        //文件夹名称
        $dir_array=array();
        if(is_dir($dir)){
            if($dh=opendir($dir)){
                //遍历
                while(($file=readdir($dh))!==false){
                    //排除.和..
                    if($file!="." && $file!=".."){
                        //判断文件夹是否以/结尾
                        if(substr($dir,-1)!="/"){
                            $dir.="/";
                        }
                        //判断是文件夹还是文件
                        if(is_dir($dir.$file)){
                            $dir_array[]=$file;
                        }elseif(is_file($dir.$file)){
                            $file_array[]=$file;
                        }
                    }    
                }
            }
            closedir($dh);

            echo "<pre>";
            print_r($file_array);
            print_r($dir_array);
        }else{
            echo "请输入正确的文件夹路径!";
        }
    }

    /*
        遍历文件夹
        @author lzg 2016-12-11
        @ $dir 文件夹路径
        @ 返回文件夹名称数组
        
     */
    function read_all_dir($dir){
        header("content-type:text/html;charset=utf-8");
        $arr=array();
        if(is_dir($dir)){
            if($dh=opendir($dir)){
                //遍历
                while(($file=readdir($dh))!==false){
                    //排除.和..
                    if($file!="." && $file!=".."){
                        //判断文件夹是否以/结尾
                        if(substr($dir,-1)!="/"){
                            $dir.="/";
                        }
                        //判断是文件夹还是文件,存储方式可以按自己需要开改
                        if(is_dir($dir.$file)){
                            //如果是文件夹,递归查询
                            $arr[$dir][]=read_all_dir($dir.$file);
                        }elseif(is_file($dir.$file)){
                            $arr[$dir][]=$file;
                        }
                    }    
                }
            }
            closedir($dh);
        }else{
            echo "请输入正确的文件夹路径!";
            exit;
        }
        return $arr;
    }
?>
发布了33 篇原创文章 · 获赞 10 · 访问量 8万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章