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萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章