Posted to PHP.NET on 4/9/2006
My first contribution to PHP.NET, but alas, its only an enhancement (prior post tweak).
This is a little PHP utility that will list all the subdirectories and their sizes from a given starting directory (e.g., the root folder).
I didn't just want the grand total of the directories and subdirectories scanned, as a previous poster graciously listed, but the total for each directory. I can then take that list into my spreadsheet app, and sort it based on size and find out which directories are eating up the most (or those that are empty).
I put the tilde (~) in there for easier porting into your spreadsheet app, using it as a delimiter.
In addition, I store this utility in a protected directory one level down from my root, so using the "../" does my entire root.
<? echo "<br><br>".dskspace("../"); function dskspace($dir) { $s = stat($dir); $space = $s["blocks"]*512; if (is_dir($dir)) { $dh = opendir($dir); while (($file = readdir($dh)) !== false) if ($file != "." and $file != "..") $space += dskspace($dir."/".$file); echo "<br>".round(($space/1024)/1024,2)." Mb ~ <strong>".$dir.$file."</strong>"; closedir($dh); } return $space; } ?>
Never thought I'd know enough to post on PHP.NET :)