电脑安全

您当前的位置:主页 > 电脑安全 >

php获取某个目录大小-网络编程

来源:[db:来源]标题:   目录    编辑:电脑技术全能网 时间:2019-09-18 18:01

原标题:php获取某个目录大小-网络编程
   大抵就是不晓得名目上面又几多层名目, 也不晓得又几多文件, 须要统计占用空间巨细, 这个能够用在 相册/数据库占用/收集U盘 等顺序中.  大抵顺序思维就是应用递规来盘算名目占用空间几多, 而后再把这个占用空间的值写进文本文件里, 那末只有拜访这个txt文件就晓得占用了几多空间, 不必频仍猎取而读磁盘, 节约资本. 每次用户假如上传的文件或许删除了文件, 那末又从新停止统计. 固然, 也能够把统计成果保留到数据库里.<?/** * File: fetch user directory use size * Author: heiyeluren <heiyeluren_AT_gmail_com> * 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;?>

上一篇:mysql和MSSQL字符替换函数-网络编程

下一篇:没有了