Sian 发表于 2016-1-4 16:21:29

PHP目录中目录数、文件数、目录大小获取

<?php
        $totle = disk_total_space("/");
        $free = disk_free_space("/");
        echo "磁盘总大小:".($totle / pow(2, 30))."GB<br/>";
        echo "磁盘剩余空间:".($free / pow(2, 30))."GB<br/>";
       
       
        // 统计一个目录下的文件和目录个数
        $filenumber = 0;
        $dirnumber = 0;
        $dirsize = 0;
        function get_dir_number($path){
                global $filenumber;
                global $dirnumber;
                global $dirsize;
                // 打开目录
                $dir = opendir($path);
                while($filename = readdir($dir)){
                        if ($filename == "." || $filename == "..") continue;
                        // 拼接相对路径
                        $filename = $path."/".$filename;
                        // 如果为文件则文件数自增
                        if(is_file($filename)){
                                $filenumber++;
                                // 文件大小自增
                                $dirsize += filesize($filename);
                        }
                        // 如果为目录则递归
                        if(is_dir($filename)){               
                                $dirnumber++;
                                get_dir_number($filename);
                        }       
                }
                // 关闭目录
                closedir($dir);
        }
        get_dir_number("../phpwind");
       
        echo "目录数为:$dirnumber<br/>";
        echo "文件数为:$filenumber<br/>";
        echo "目录大小:$dirsize<br/>";执行结果:
磁盘总大小:19.685176849365GB
磁盘剩余空间:14.124946594238GB
目录数为:1628
文件数为:5958
目录大小:64197858
页: [1]
查看完整版本: PHP目录中目录数、文件数、目录大小获取