Ovom funkcijom možete izračunati veličinu foldera (i svih njegovih fajlova i podfoldera), što može biti korisno recimo prilikom kontrole potršnje resursa na serveru. Veličina je data u gigabajtima.
function getDirectorySize($path)
{
$totalsize = 0;
$totalcount = 0;
$dircount = 0;
if($handle = opendir($path))
{
while (false !== ($file = readdir($handle)))
{
$nextpath = $path . '/' . $file;
if($file != '.' && $file != '..' && !is_link ($nextpath))
{
if(is_dir($nextpath))
{
$dircount++;
$result = getDirectorySize($nextpath);
$totalsize += $result['size'];
$totalcount += $result['count'];
$dircount += $result['dircount'];
}
else if(is_file ($nextpath))
{
$totalsize += filesize ($nextpath);
$totalcount++;
}
}
}
}
closedir($handle);
$total['size'] = $totalsize;
$total['count'] = $totalcount;
$total['dircount'] = $dircount;
$ret = round($totalsize/1024/1024,0);
return $ret;
}
Komentari posetilaca
-
Radi, testirana je, path stavi npr ovako: getDirectorySize('../files/');
-
Funkcija ili ne radi ili ja ne znam kako path da stavim.