title: How to get directory size in PHP
body: <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="https://stackoverflow.com/questions/466140/php-disktotalspace#466268">php disk_total_space</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>