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‘;
时间: 2024-12-11 15:21:13

PHP文件操作 之统计目录大小的相关文章

PHP遍历目录返回统计目录大小实例

分享一个 PHP遍历目录并返回统计目录大小的方法.代码: <?php $dirname = "test1"; //mkdir($dirname); //遍历一层目录 function listdir($dirname) { $ds = opendir($dirname); while($file = readdir($ds)) { $path = $dirname.'/'.$file; if(is_dir($file)) { echo "DIR:".$file

二叉树的先序遍历和后序遍历的应用--输出文件和统计目录大小

一,介绍 本文主要二叉树的两种基本的典型应用: 1) 输出某个文件夹下所有文件名称(可以有子文件夹)---用先序遍历实现 2) 统计某个文件夹的大小(该文件夹下所有文件的大小--用后序遍历实现 二,实现分析 对于问题 1),输出文件名称的过程如下: 如果是文件夹,先输出文件夹名,然后再依次输出该文件夹下的所有文件(包括子文件夹),如果有子文件夹,则再进入该子文件夹,输出该子文件夹下的所有文件名.这是一个典型的先序遍历过程. 对于问题2),统计文件夹的大小过程如下: 若要知道某文件夹的大小,必须先

linux文件操作篇 (四) 目录操作

#include <sys/stat.h>#include <unistd.h>#include <dirent.h> //创建文件夹 路径 掩码 int mkdir(const char *path, mode_t mode); // 获取当前工作路径 buf用于接受路径缓存 char *getcwd(char *buf, size_t size); // 进入文件夹 和cd一样 int chdir(const char *path); //打开路径并建立子目录流,返

Python文件操作与函数目录

文件操作 python文件操作 函数 Python函数学习——初步认识 Python函数学习——作用域与嵌套函数 Python函数学习——匿名函数 python内置函数 Python函数学习——递归 Python函数——命名空间与闭包 Python函数——闭包延迟绑定 Python函数——装饰器 Python函数-列表推导式.生成器与迭代器 练习题 Python文件与函数练习题 案例 python函数练习——个人信息修改 Python函数案例——员工信息管理 原文地址:https://www.c

PHP中文件操作基础:目录操作,文件操作

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> <script src="jquery-3.1.1.min.js"></script> </head> <body> <?php //目录操作 //mkdi

文件复制后的目录大小不匹配

问题: cp 后使用du -h --max-depth命令发现源目录和目标目录大小不一致 解决方法: 用 ls| xargs -n 1 du -bh 命令查看 (注:du命令也可以统计实际空间,使用“-b”选项) 参考来源: https://www.cnblogs.com/starRebel/p/8821479.html 对du -b的解释 http://www.3mu.me/%E4%BD%BF%E7%94%A8linux%E7%9A%84cp%E5%91%BD%E4%BB%A4%E5%A4%8

PHP文件操作 之读取目录信息

//定义一个函数 读取目录信息的函数 function dirInfo($dirName) { //判断目录是否存在 if (!file_exists($dirName)) { die('目录不存在!'); } //判断是否是目录 if (!is_dir($dirName)) { die('您所遍历的不是目录!'); } //打开目录 $d = opendir($dirName); //判断打开目录是否成功 if (!$d) { die('打开目录失败!'); } //读取目录 while ($

oc 文件操作,查看目录下所有文件包括子文件夹内包含的所有文件,循环遍历递归

FileManager.m #import "FileManager.h" @implementation FileManager + (void)showFiles:(NSString *)path;{ // 1.判断文件还是目录 NSFileManager * fileManger = [NSFileManager defaultManager]; BOOL isDir = NO; BOOL isExist = [fileManger fileExistsAtPath:path i

遍历目录,统计目录的大小

<?php header("Content-type:text/html;charset=utf-8"); function dirSize($directory){ //创建一个统计目录大小的函数 $dir_size=0;//累计目录的大小 if($dir_handle=opendir($directory)){ //打开目录.返回的是一个句柄 while($result=readdir($dir_handle)){//遍历目录的所有文件,参数是句柄.返回的是当前位置的文件名