|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
到现在,对排版还是不很熟练,经常会排不好。
大致就是不晓得目次上面又几何层目次, 也不晓得又几何文件, 需求统计占用空间巨细, 这个可以用在 相册/数据库占用/收集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;
?>
说说这一个月左右的学习情况和心得吧!我个人认为,既然决定了去做一件事,那就要以认真的态度去对待!既然决定来学习了,那不管当初是抱着怎样的心态来到这个培训班的,都要让自己认真的投入到学习中。 |
|