All articles| All Pictures| All Softwares| All Video| Go home page| Write articles| Upload pictures

Reading number is top 10 articles
ASP.NET实例:手教你如何扩展GridView之自带Excel和Word导出_[Asp.Net教程]
asp.net程序优化技巧略谈_[Asp.Net教程]
成为PHP高手,学会懒惰地用PHP编程_php资料_编程技术
C#.net操作Word文档——以Office,2007为例_[Asp.Net教程]
Sys.ScriptLoader与JS加载进度条的实现_.net资料_编程技术
Visual Studio 2005中Crystal Reports数据源列举
Ajax实现无刷新三联动下拉框_[Asp.Net教程]
ASP.NET,2.0功能扩展-跨页提交_[Asp.Net教程]
C#几种常用的排序算法_.net资料_编程技术
解决:操作必须使用一个可更新的查询_[Asp.Net教程]
Reading number is top 10 pictures
The Soviet union swimsuit exposure in the 70 year1
Sora aoi mirror memorial classics1
A man's favorite things11
Parking technology is great, that give you the keys can't stolen
I also want to live a June 1 children's day, dad
The terra-cotta warriors3
移民小国也实惠1
人造器官和铁肺人
The money of more than 100 countries and regions19
Rendez-vous Sleep with actress, three days to earn 600000
Download software ranking
JSP+Ajax Web development typical examples
功夫熊猫2(下集)
传奇私服架设教程-chm
超级战舰
Call Of Duty2
C#程序员参考手册
Take off clothes to survival
仙剑奇侠传98硬盘WINXP版
apache-tomcat-6.0.33
Tram sex maniac 2 (H) rar bag15
归海一刀 published in(发表于) 2014/2/10 6:50:07 Edit(编辑)
php获取某个目录大小_[PHP教程]

php获取某个目录大小_[PHP教程]

php获取某个目录大小_[PHP教程]

大致就是不知道目录下面又多少层目录, 也不知道又多少文件, 需要统计占用空间大小, 这个可以用在 相册/数据库占用/网络U盘 等程序中.

  大致程序思想就是使用递规来计算目录占用空间多少, 然后再把这个占用空间的值写进文本文件里, 那么只要访问这个txt文件就知道占用了多少空间, 不用频繁获取而读磁盘, 节省资源. 每次用户如果上传的文件或者删除了文件, 那么又重新进行统计. 当然, 也可以把统计结果保存到数据库里.


/**
* File: fetch user directory use size
* Author: heiyeluren
* Create: 2005-9-19 16:20
* Modifed: 2005-9-19 16:41
*/


/*** 基本函数 ***/


//计算目录大小
function countDirSize(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 saveDirSize(userDir)
{
userDirSize = countDirSize(userDir);
if (!fp = fopen(userDir."/dir_size.txt", "w+")) {
die("Open file failed");
} else {
fwrite(fp, dirSize);
}
}


//获取用户目录的大小
function getDirSize(userDir)
{
user = addslashes(userDir);
sizeFile = userDir."/dir_size.txt";
if (!fp = fopen(sizeFile, "r") {
return 0;
} else {
dirSize = fread(fp, filesize(sizeFile));
}
return dirSize;
}



/*** 调用实例 ***/
user = "heiyeluren";
userPath = "./user/".user;


//如果用户执行了删除或者上传文件的操作就重新获取目录大小
if (action == "upload" || action == "delete") {
saveDirSize(userPath);
}


userDirSize = getDirSize(userPath)/1024;
echo "用户: ".user;
echo "占用空间: ".userDirSize;


?>







添加到del.icio.us 添加到新浪ViVi 添加到百度搜藏 添加到POCO网摘 添加到天天网摘365Key 添加到和讯网摘 添加到天极网摘 添加到黑米书签 添加到QQ书签 添加到雅虎收藏 添加到奇客发现 diigo it 添加到饭否 添加到飞豆订阅 添加到抓虾收藏 添加到鲜果订阅 digg it 貼到funP 添加到有道阅读 Live Favorites 添加到Newsvine 打印本页 用Email发送本页 在Facebook上分享


Disclaimer Privacy Policy About us Site Map

If you have any requirements, please contact webmaster。(如果有什么要求,请联系站长)
Copyright ©2011-
uuhomepage.com, Inc. All rights reserved.