I was trying to get a directory size with PHP under a *nix environment…
This is what I’v found on stackoverflow… and it works 🙂
**
* Get the directory size
* @param directory $directory
* @return integer
*/
function dirSize($directory) {
$size = 0;
foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($directory)) as $file){
$size+=$file->getSize();
}
return $size;
}
And to get it with Kb, Mb, Gb etc….
function formatSizeUnits($bytes)
{
$symbols = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB');
$exp = floor(log($bytes) / log(1024));
@$bytes = sprintf('%.2f ' . $symbols[$exp], ($bytes / pow(1024, floor($exp))));
return $bytes;
}