php 统计目录大小,PHP 统计目录大小

例01:

function dirsize($dir){

$size=0;

//打开目录

$dd=opendir($dir); //--opendir("")打开一个目录,返回此目录的资源句柄

readdir($dd); //--通过读两次,来跳过特殊目录"."、".."

readdir($dd);

//遍历目录累加大小

while($f = readdir($dd)){ //--readdir(资源句柄)从目中读取一个目录或文件,并指针向下移动一位。

$file = $dir."/".$f; //--为文件名添加目录名

if(is_file($file)){

$size += filesize($file);

}

if(is_dir($file)){

$size +=dirSize($file); //--递归调用

}

}

//关闭目录

closedir($dd);//--closedir(资源句柄)关闭打开的目录

return $size;

}

echo dirsize(‘D:\wamp‘)/1024/1024;//为路径

例02:

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(‘D:\wamp\www\test\BYGD\class‘));//指定路径

// get byte

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‘])."/");

echo ‘(‘.$big.‘ bytes)‘;

原文:http://blog.csdn.net/web361/article/details/18986333

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/529661.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

oracle03206,ORACLE数据库创建表空间ORA-03206报错的解决方案

Oracle的数据文件大小是有限制的&#xff0c;今天在创建表空间的时候就遇到了问题&#xff0c;限制很简单&#xff0c;作为DBA必须要了解。测试环境&#xff1a;操作系统&#xff1a;Win7 64位专业版数据库版本&#xff1a;64位Oracle10.2.0.4DB_NAME&#xff1a;hoegh表空间名…

oracle sql server的区别,oracle与sqlserver的十大区别

http://blog.csdn.net/it_fengli/article/details/8213839 --sql server 与 oracle的区别&#xff1a; --DBMS 数据库管理系统 --1.数据类型不同。 --sql server 的数据类型&#xff1a;int ,smallint ,char,varchar,nchar,nvarchar,ntext,datetime,smalldatetime,money,decima…

Oracle19C的dbhome,Windows server 安装Oracle19c (WINDOWS.X64_193000_db_home.zip) 过程碰到的问题总结...

Oracle19c的下载地址&#xff1a;链接: https://pan.baidu.com/s/1snqyViOAoeffAztPes_Tvw提取码: 9kb6Oracle19c的安装过程&#xff1a;解压缩安装包&#xff1a;解压结果 以管理员方式运行setup开始安装 一直默认走到安装完成即可创建用户cmd执行sqlplus命令&#xff0c;输入…

oracle01537,ORACLE REUSE实验

一、查看数据文件位置SQL> show user;User is "SYS"SQL> desc dba_data_files;Name Type Nullable Default Comments--------------- ------------- -------- ------- ---------------------------------------------------FILE_NAME …

oracle数据库配置管理,Oracle配置管理

一、连接Oracle1、Oracle建立连接的过程无论是通过sqlplus命令连接还是第三方工具远程连接到Oracle&#xff0c;都需要建立客户端与服务端之间的连接。Oracle Net Service组件就是为了用于建立连接的&#xff0c;这个组件在安装Oracle时已经安装。1)在服务器端有一个listener监…

oracle 插入一个语句,oracle如何通过1条语句插入多个值 oracle通过1条语句插入多个值方法...

本篇文章小编给大家分享一下oracle通过1条语句插入多个值方法&#xff0c;小编觉得挺不错的&#xff0c;现在分享给大家供大家参考&#xff0c;有需要的小伙伴们可以来看看。在实践过程中遇到一个问题&#xff0c;我想往数据库插入多条数据时&#xff0c;使用了如下语句&#x…

linux内核 默认路由表,[Linux] linux路由表-Go语言中文社区

路由表用于决定数据包从哪个网口发出&#xff0c;其主要判断依据是目标IP地址Linux路由表其实有2个主要概念&#xff1a;按顺序走路由策略,在路由策略对应的路由表中匹配规则路由策略(rule)路由表(table)查看所有的路由策略,32766那个策略最有用,对应的main路由表也是默认展示的…

linux添加源地址ping,实战经验:Linux Source NAT在Ping场景下的应用

原标题&#xff1a;实战经验&#xff1a;Linux Source NAT在Ping场景下的应用有时候&#xff0c;有这样的一种需求&#xff1a;需要修改IP数据包中的源地址&#xff0c;比如&#xff0c;从某一个主机发送Ping包到另一个主机&#xff0c;需要修改源地址为另一个源(通常&#xff…

mac远程linux的ide,Jupyter notebook在mac:linux上的配置和远程访问

IPython 和 JupyterIPython 通常指的是一个 Python REPL(交互式解释器) shell。提供了远比 Python shell 强大的 shell 环境。IPython 是 Iteractive Python shell的缩写。 Notebook 是一个基于 IPython 的 web 应用。截止 IPython 3.0 &#xff0c;IPython 变得越来越臃肿&…

Linux升级glibc版本汉字乱码,Linux CentOS6升级glibc库过程

CentOS6升级glibc库过程hadoop无法加载native库&#xff0c;可能原因是 glibc库版本过低&#xff0c;需要升级。第一&#xff1a;安装以下软件yum -y install zlib zlib-devel gcc gcc-c libtool openssl openssl-devel automake autoconf libtool pcre*第二、查看系统glibc版本…

linux图形界面 革命,Windows 95带来的革命

CDECDE1993年6月-在“公用桌面环境“是与Sun&#xff0c;惠普&#xff0c;IBM和合资Unix系统实验室。CDE&#xff0c;通用桌面环境(CommonDesktopEnvironment)的缩写。CDE是一种运行于UNIX&#xff0c;基于Motif部件工具箱开发的商业桌面环境。惠普的OpenVMS采用CDE作为标准的桌…

real time linux pdf,【整理】ubuntu real time Linux

ubuntu real timeUbuntu不支持实时可参考看看如何才能支持想要自己编译实时内核的话参考去&#xff1a;下载&#xff1a;The Real Time Preempt Patch然后自己编译即可。对于实时系统所支持的功能和特性以及平台&#xff0c;详见这里提供了 已编译好的实时的Debian相关内容或参…

arm64 linux 除零正常返回,arm64程序调用规则

前言这篇主要介绍arm64程序调用规则&#xff0c;详细分析了程序调用过程中&#xff0c;参数是如何传递的。Android、iOS、Linux等基本遵循这些规则&#xff0c;但是各个操作系统平台也有小部分自己特定的规则。下一篇&#xff0c;我将介绍iOS平台的特定规则。术语介绍术语意义A…

苹方字体 for linux,苹果苹方字体

苹果苹方字体是一款很实用的字体软件&#xff0c;苹果苹方字体是为中国苹果用户打造的全新字体&#xff0c;共有六种字重&#xff0c;使用方便&#xff0c;能够满足用户在阅读时不同的字体需求&#xff0c;并且苹果苹方字体还可以在安卓、Linux 等其他平台和设备上使用&#xf…

linux系统关机half,Linux 学习 (六) 关机与重启命令

JavaScript基础 DOM的操作1.DOM的基本概念 DOM是文档对象模型,这种模型为树模型:文档是指标签文档:对象是指文档中每个元素:模型是指抽象化的东西. 2.Windows对象操作 一.属性和方法: window对象——浏览器 ...推荐《HeadFirst设计模式》相对于国内初版的,HeadFirst真的是更好的…

职坐标c语言,C/C++知识点之hexdump的C语言实现

本文主要向大家介绍了C/C知识点之hexdump的C语言实现&#xff0c;通过具体的内容向大家展示&#xff0c;希望对大家学习C/C知识点有所帮助。1 void hexdump(char *buf, int len)2 {3 int i 0;45 printf("\n----------------------hexdump-----------------------…

C语言编杂志程序,c语言程序错误修改

题目:杂志订阅管理系统使用计算机对一种杂志的订阅进行管理,该杂志最多订户不超过10人,每个订户的信息包括:姓名 性别 地址 电话号码 杂志单价 订阅数 订阅期限(至**年**月)。现要求用菜单选择并完成下述的功能&#xff1a;(1)增加新订户&#xff0c;既将订户的全部信息输入到文…

c语言关键词中英翻译机编程,课程设计--C语言关键字中英翻译机

《课程设计--C语言关键字中英翻译机》由会员分享&#xff0c;可在线阅读&#xff0c;更多相关《课程设计--C语言关键字中英翻译机(21页珍藏版)》请在人人文库网上搜索。1、课课 程程 设设 计计 报报 告告 学院、系&#xff1a; 专业名称&#xff1a; 课程设计科目 所在班级&…

c语言参数不能用 吗,如何在C语言中禁止“未使用的参数”警告?

您可以使用gcc / clang的未使用属性&#xff0c;但是我在标头中使用这些宏&#xff0c;以避免在整个源代码中__attribute__都有gcc特定的属性&#xff0c;而且到处都有点冗长/难看。#ifdef __GNUC__# define UNUSED(x) UNUSED_ ## x __attribute__((__unused__))#else# defin…

c语言龙贝格积分法实验报告,数值作业:龙贝格算法计算积分C语言实现

数值作业:龙贝格算法计算积分C语言实现数值作业:龙贝格算法计算积分C语言实现根据Romberg算法计算定积分&#xff0c;和变步长的Simpson算法的输入都一样&#xff0e;算法基本分析&#xff1a;输入a,b(积分上下限),n为积分区间等分数&#xff0c;eps为计算精度&#xff0c;我这…