note 75500 added to function.filesize
| From: | medhefgo at googlemail dot com | Date: | Sat, 02 Jun 2007 13:02:30 +0000 |
| Subject: | note 75500 added to function.filesize | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-127122@lists.php.net to get a copy of this message | ||
I created another dirsize() function which doesn't use recursion.
I gained a ~2-3% performance boost while it uses ~50% lesser memory!
<?php
function dirsize($dirname) {
if (!is_dir($dirname) || !is_readable($dirname)) {
return false;
}
$dirname_stack[] = $dirname;
$size = 0;
do {
$dirname = array_shift($dirname_stack);
$handle = opendir($dirname);
while (false !== ($file = readdir($handle))) {
if ($file != '.' && $file != '..' && is_readable($dirname .
DIRECTORY_SEPARATOR . $file)) {
if (is_dir($dirname . DIRECTORY_SEPARATOR . $file)) {
$dirname_stack[] = $dirname . DIRECTORY_SEPARATOR . $file;
}
$size += filesize($dirname . DIRECTORY_SEPARATOR . $file);
}
}
closedir($handle);
} while (count($dirname_stack) > 0);
return $size;
}
?>
----
Server IP: 217.13.201.10
Probable Submitter: 87.122.32.44
----
Manual Page -- http://www.php.net/manual/en/function.filesize.php
Edit -- https://master.php.net/note/edit/75500
Del: integrated -- https://master.php.net/note/delete/75500/integrated
Del: useless -- https://master.php.net/note/delete/75500/useless
Del: bad code -- https://master.php.net/note/delete/75500/bad+code
Del: spam -- https://master.php.net/note/delete/75500/spam
Del: non-english -- https://master.php.net/note/delete/75500/non-english
Del: in docs -- https://master.php.net/note/delete/75500/in+docs
Del: other reasons-- https://master.php.net/note/delete/75500
Reject -- https://master.php.net/note/reject/75500
Search -- https://master.php.net/manage/user-notes.php