関数 getDirSize($dir)
{
$handle = opendir($dir);
while (false!==($FolderOrFile = readdir($handle)))
{
if($FolderOrFile != "." && $FolderOrFile != "..")
{
if(is_dir("$dir/$FolderOrFile"))
{
$sizeResult += getDirSize("$dir/$FolderOrFile");
}
それ以外
{
$sizeResult += filesize("$dir/$FolderOrFile");
}
}
}
Closedir($handle);
$sizeResult を返します;
}
// 单位自动转换関数
関数getRealSize($size)
{
$kb = 1024; // キロバイト
$mb = 1024 * $kb; // メガバイト
$gb = 1024 * $mb; // ギガバイト
$tb = 1024 * $gb; // テラバイト
if($size
{
$size を返します。" B";
}
else if($size
{
ラウンド($size/$kb,2)を返します。" KB";
}
else if($size
{
ラウンド($size/$mb,2)を返します。" MB";
}
else if($size
{
ラウンドを返します($size/$gb,2)。" GB";
}
それ以外
{
ラウンドを返します($size/$tb,2)。" TB";
}
}
echo getRealSize(getDirSize(dirname($_SERVER[SCRIPT_FILENAME])./include/));
?>
############################################## ######
//関数 dirsize($dir)
//{
// $handle=opendir($dir);
// $size = 0;
// while ( $file=readdir($handle) )
// {
// if ( ( $file == "." ) || ( $file == ".." ) ) continue;
// if ( is_dir("$dir/$file") )
// $size += dirsize("$dir/$file");
// その他
// $size += filesize("$dir/$file");
// }
// Closedir($handle);
// $size を返します;
//}
//$big=dirsize(dirname($_SERVER[SCRIPT_FILENAME])."/");
//エコー $big;
得られる結果は小数点第2位までです
$big*1024 単位はKBです