m_Debug = $val;
}
function GetFiles()
{
return $this->m_nFiles;
}
function GetDirectories()
{
return $this->m_nDirectories;
}
function Reset()
{
$this->m_nFiles = 0;
$this->m_nDirectories = 0;
}
function CalculateUsage($dir)
{
$this->Reset();
return $this->_CalculateUsage($dir);
}
// called recursively
function _CalculateUsage($dir)
{
$size = 0;
if ($dh = opendir($dir))
{
while (($item = readdir($dh)) !== false)
{
if ($item !== '.'
&& $item !== '..')
{
$file = $dir."/".$item;
$this->Log($file." ".filesize($file));
if (is_file($file))
{
$size += filesize($file);
$this->m_nFiles++;
}
else if (is_dir($file))
{
$size += $this->_CalculateUsage($file);
$this->m_nDirectories++;
}
}
}
}
return $size;
}
function Log($str)
{
if($this->m_Debug)
{
print($str);
print("
");
}
}
}
//////////////////////////////////////////////////////////////
// Entry Point
if($_REQUEST["dir"])
$dir = $_REQUEST["dir"];
else
$dir = getcwd();
// header
print("
| Number of files | ".$obj->GetFiles()." | \r\n"); print("Number of directories | ".$obj->GetDirectories()." | \r\n"); print("Disk usage | ".sprintf("%.2f", $size/1024/1024)." MB | \r\n"); print("