zoukankan      html  css  js  c++  java
  • PHP文件操作 之统计目录大小

    <?php
    //定义一个函数 统计目录大小函数
    function dirSize($dirName) {
        
        //判断目录是否存在
        if (!file_exists($dirName)) {
            die('目录不存在!');
        }
        
        //判断是否是目录
        if (!is_dir($dirName)) {
            die('您所遍历的不是目录!');
        }
        
        //打开目录
        $d = opendir($dirName);
        
        //判断打开目录是否成功
        if (!$d) {
            die('打开目录失败!');
        }
        
        //读取目录
        while ($f = readdir($d)) {
            
            //将两个特殊目录'.'和'..'排除掉
            if ($f != '.' && $f != '..') {
                
                //拼装目录的子文件地址
                $filename = $dirName . '/' . $f;
                
                //判断是否是目录
                if (is_dir($filename)) {
                    
                    //递归调用自己来统计子目录的大小
                    $sum += dirSize($filename);
                }
    
                //判断是否是文件
                if (is_file($filename)) {
                    $sum += filesize($filename);
                }
            }
        }
        
        //关闭目录
        closedir($d);
        
        //返回目录大小变量
        return $sum;
    }
    
    //调用函数
    echo number_format(dirSize('../../../phpMyAdmin')/1024/1024, 2) . 'MB';
  • 相关阅读:
    Angular @Input讲解及用法
    跨浏览器窗口通讯 ,7种方式
    map和forEach的区别
    纯CSS圆环与圆
    如何理解时间复杂度和空间复杂度
    毁灭
    P1631 序列合并
    plotly dash
    Tkinter
    mysql 和 sqlalchemy 的一个测试环境
  • 原文地址:https://www.cnblogs.com/Zell-Dinch/p/4036155.html
Copyright © 2011-2022 走看看