note 36529 deleted from function.disk-free-space by aidan

From: Date: Sat, 16 Oct 2004 00:40:28 +0000
Subject: note 36529 deleted from function.disk-free-space by aidan
References: 1  Groups: php.notes 
Request: Send a blank email to php-notes+get-78626@lists.php.net to get a copy of this message
Note Submitter: laurie at nospam dot oneuponedown dot com ---- Adapt/refinement to "nospam at jusunlee dot com" spaceUsed: <? // RETURNS THE TOTAL SIZE OF ALL FILES // WITHIN A DIRECTORY AND SUBSEQUENT CHILD DIRECTORIES // LIMITED TO DIRECTORIES AND FILES OWNED BY // THE OPERATING USER (PHP/APACHE IN MOST CASES) // // RETURNS AN INT // function dir_size($DIR = FALSE) { // IF DIR IS TRUE AND IS A DIRECTORY if ($DIR && is_dir($DIR)) { // ADD TRAILING SLASH if (substr($DIR,-1) != "/") $DIR .= "/"; // OPEN DIRECTORY if ($DIR_ID = opendir($DIR)) { // LOOP THROUGH CONTENTS OF DIR while (($ITEM = readdir($DIR_ID)) !== FALSE) { // IF ITEM DOES NOT EQUAL "." AND ".." if ($ITEM != "." && $ITEM != "..") { // IF ITEM IS A DIRECTORY if (is_dir($DIR . $ITEM)) { // CALL FUNCTION RECURSIVELY $SIZE += dir_size($DIR . $ITEM); // ELSE ITEM IS A FILE } else { // ADD SIZE OF FILE $SIZE += filesize($DIR . $ITEM); } } } // CLOSE DIRECTORY closedir($DIR_ID); } } // RETURN SIZE return $SIZE; } print(dir_size("/path/to/directory/")); ?>

« previous php.notes (#78626) next »