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

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

作者: 孤岛渔夫 | 来源:发表于2017-01-22 15:12 被阅读0次
    <?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') );






 ?>

相关文章

网友评论

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

      本文链接:https://www.haomeiwen.com/subject/ldlobttx.html