note 36891 deleted from function.filesize by tomsommer
| From: | tomsommer@php.net | Date: | Wed, 01 Sep 2004 17:31:53 +0000 |
| Subject: | note 36891 deleted from function.filesize by tomsommer | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-75875@lists.php.net to get a copy of this message | ||
Note Submitter: mehdi at ill dot iut dot ac dot ir
----
this function returns human-readable filesizes whether or not they are directories or regular files.
function fsize($file){
$size=0;
$range = Array ('B', 'K', 'M', 'G');
if(is_dir($file))
if ($dh = opendir($file)){
while (($filecnt = readdir($dh)) !== false) {
if($filecnt == "." || $filecnt == "..")continue;
if(is_dir($file."/".$filecnt))
$size += fsize($file."/".$filecnt);
else
$size += filesize($file."/".$filecnt);
echo "\n$file/$filecnt";
}
closedir($dh);
}else
return false;
else
$size = filesize($file);
for ($i = 0; $size >= 1024 && $i < count($range); $i++)
$size /= 1024;
return round($filesize,2).$range[$i];
}
also in linux like systems you can use :
$size = exec("du -sh $file");