遍历目录文件,判断目录是否含有目录有则继续遍历,文件全部打印

    <?php 
    // traverse 遍历
    header('content-type:text/html; charset=utf-8');

    // 三元归一
    // opendir()   打开目录   
    // readdir()   读取一个目录,返回文件名
    // closedir()  关闭目录

    // is_dir()  是不是目录
    // is_file() 是不是文件
    $fn = 0;
    $dn = 0;


    function traverse($path){
        // 打开某个目录
        $dir = opendir($path);

        // 遍历目录和文件
        // 通过循环来遍历
        $size = 0;
        while($filename = readdir($dir)){
            // 排除掉 . 和 ..
            if($filename == '.' || $filename == '..'){
                continue;
            }
            // 拼接目录
            $filepath = $path.'/'.$filename;

            // 判断目录, 是则再次调用遍历目录函数
            if( is_dir($filepath) ){
                $GLOBALS['dn']++;
                $size += traverse($filepath)['size'];
            }

            // 判断是否为文件, 是则打印文件名
            if( is_file($filepath) ){
                $size += filesize($filepath);
                $GLOBALS['fn']++;
            }
        }

        // 关闭目录
        closedir($dir);
        // echo $GLOBALS['fn'].'<br>';
        // echo $GLOBALS['dn'].'<br>';
        // return $size;

        $arr['size'] = $size;
        $arr['fn'] = $GLOBALS['fn'];
        $arr['dn'] = $GLOBALS['dn'];
        return $arr;

    }

    var_dump( traverse('./hah') );






 ?>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 车停在一棵树下,抬头一望,树叶绿黄红交错,煞是美丽,大爱的秋天让我忍不住闭上眼深呼吸️ 忽而低头一想,发现自己对四...
    珏子sabrina阅读 189评论 1 2
  • 观鹰鹰眼枯, 望月月影缺; 长箭久未归, 淡云一线光; 抚弓任马飞, 天涯一声嘶。
    未卜先_e4df阅读 196评论 0 7
  • 此刻,平静的躺在床上准备入睡了,我想梦里一定又有你的身影,你仍然是我的男主角吧。分开的第三十六天,我想我好多了,不...
    小眼神阅读 166评论 0 0
  • 从前,郑国有一个农夫,他非常勤劳,每天都要去田地里干活。 有一天他的鞋磨破了,他想去集市买一双新鞋,他便拿了一根绳...
    李哲文阅读 4,757评论 1 3
  • 你我在同一个世界,却在不同的角落。 你我不相识,也不曾相见。 你我为生活奔波,有着同样的话想说。 你我一杯酒,可否...
    Mark_mark阅读 171评论 2 3