• 技术文章 >php教程 >php手册

    PHP 获得文件夹大小 计算文件

    2016-06-13 10:36:15原创654

    function getDirSize($dir)
    {
    $handle = opendir($dir);
    while (false!==($FolderOrFile = readdir($handle)))
    {
    if($FolderOrFile != "." && $FolderOrFile != "..")
    {
    if(is_dir("$dir/$FolderOrFile"))
    {
    $sizeResult += getDirSize("$dir/$FolderOrFile");
    }
    else
    {
    $sizeResult += filesize("$dir/$FolderOrFile");
    }
    }
    }
    closedir($handle);
    return $sizeResult;
    }

    // 单位自动转换函数
    function getRealSize($size)
    {
    $kb = 1024; // Kilobyte
    $mb = 1024 * $kb; // Megabyte
    $gb = 1024 * $mb; // Gigabyte
    $tb = 1024 * $gb; // Terabyte

    if($size < $kb)
    {
    return $size." B";
    }
    else if($size < $mb)
    {
    return round($size/$kb,2)." KB";
    }
    else if($size < $gb)
    {
    return round($size/$mb,2)." MB";
    }
    else if($size < $tb)
    {
    return round($size/$gb,2)." GB";
    }
    else
    {
    return round($size/$tb,2)." TB";
    }
    }

    echo getRealSize(getDirSize(dirname($_SERVER[SCRIPT_FILENAME])./include/));


    ?>

    #########################################################

    //function dirsize($dir)
    //{
    // $handle=opendir($dir);
    // $size = 0;
    // while ( $file=readdir($handle) )
    // {
    // if ( ( $file == "." ) || ( $file == ".." ) ) continue;
    // if ( is_dir("$dir/$file") )
    // $size += dirsize("$dir/$file");
    // else
    // $size += filesize("$dir/$file");
    // }
    // closedir($handle);
    // return $size;
    //}
    //$big=dirsize(dirname($_SERVER[SCRIPT_FILENAME])."//m.sbmmt.com/m/");
    //echo $big;

    得到的结果是小数点后两位的

    $big*1024 得到单位为KB

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:通过PHP操作XML入门 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • 用Xdebug修正PHP应用程序中的错误• PHP下打开phpMyAdmin出现403错误的问题解决方法• php实现refresh刷新页面批量导入数据的方法• 外媒体评:改良程序的11技巧• 限制上传文件类型程序代码
    1/1

    PHP中文网