php get directory size
<pre><code>function foldersize($path) {

    $total_size = 0;
    $files = scandir($path);


    foreach($files as $t) {

        if (is_dir(rtrim($path, '/') . '/' . $t)) {

            if ($t&lt;&gt;"." &amp;&amp; $t&lt;&gt;"..") {

                $size = foldersize(rtrim($path, '/') . '/' . $t);

                $total_size += $size;
            }
        } else {

            $size = filesize(rtrim($path, '/') . '/' . $t);

            $total_size += $size;
        }   
    }

    return $total_size;
}

function format_size($size) {

    $mod = 1024;

    $units = explode(' ','B KB MB GB TB PB');

    for ($i = 0; $size &gt; $mod; $i++) {

        $size /= $mod;
    }

    return round($size, 2) . ' ' . $units[$i];

}

$SIZE_LIMIT = 5368709120; // 5 GB

$sql="select * from users order by id";
$result=mysql_query($sql);

while($row=mysql_fetch_array($result)) {

    $disk_used = foldersize("C:/xampp/htdocs/freehosting/".$row['name']);

    $disk_remaining = $SIZE_LIMIT - $disk_used;
    print 'Name: ' . $row['name'] . '&lt;br&gt;';

    print 'diskspace used: ' . format_size($disk_used) . '&lt;br&gt;';

    print 'diskspace left: ' . format_size($disk_remaining) . '&lt;br&gt;&lt;hr&gt;';

}
</code></pre>

<p><a href="http://stackoverflow.com/questions/466140/php-disktotalspace#466268">http://stackoverflow.com/questions/466140/php-disktotalspace#466268</a></p>

<p>Any idea why the processor usage shoot up too high or 100% till the script execution is finish ? Can anything be done to optimize it? or is there any other alternative way to check folder and folders inside it size?</p>

<p>Thanks.</p>
