note 106760 added to function.filesize
| From: | webmaster at sebastiangrinke dot info | Date: | Mon, 05 Dec 2011 03:32:54 +0000 |
| Subject: | note 106760 added to function.filesize | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-184896@lists.php.net to get a copy of this message | ||
Here a little function which provides automated units^^
function calc_size($path,$size=0,$unit='a',$length=2){
if(!is_dir($path)){$size+=filesize($path);}
else{
$dir = opendir($path);
while($f = readdir($dir)){
if(is_file($path.DS.$f)){$size+=filesize($path.DS.$f);}
elseif(is_dir($path.DS.$f) AND $f!='.' AND
$f!='..'){$size=calc_size($path.DS.$f,$size,'',0);}
}
}
if($unit==''){return $size;}
elseif($unit=='b' XOR $unit=='a' AND strlen($size) < 4){return
number_format($size,$length,',','').' <span
title="Byte">Byte</span>';}
elseif($unit=='kb' XOR $unit=='a' AND strlen($size) < 7){return
number_format(($size/1024),$length,',','').' <span
title="Kilobyte">KiB</span>';}
elseif($unit=='mb' XOR $unit=='a' AND strlen($size) < 10){return
number_format(($size/1024/1024),$length,',','').' <span
title="Megabyte">MiB</span>';}
elseif($unit=='gb' XOR $unit=='a' AND strlen($size) < 13){return
number_format(($size/1024/1024/1024),$length,',','').' <span
title="Gigabyte">GiB</span>';}
elseif($unit=='tb' XOR $unit=='a' AND strlen($size) < 16){return
number_format(($size/1024/1024/1024/1024),$length,',','').' <span
title="Terabyte">TiB</span>';}
elseif($unit=='pb' XOR $unit=='a' AND strlen($size) < 19){return
number_format(($size/1024/1024/1024/1024/1024),$length,',','').' <span
title="Petabyte">PiB</span>';}
elseif($unit=='eb' XOR $unit=='a' AND strlen($size) < 21){return
number_format(($size/1024/1024/1024/1024/1024/1024),$length,',','').'
<span title="Exabyte">EiB</span>';}
elseif($unit=='zb' XOR $unit=='a' AND strlen($size) < 24){return
number_format(($size/1024/1024/1024/1024/1024/1024/1024),$length,',','').'
<span title="Zettabyte">ZiB</span>';}
elseif($unit=='yb' XOR $unit=='a' AND strlen($size) > 24){return
number_format(($size/1024/1024/1024/1024/1024/1024/1024/1024),$length,',','').'
<span title="Yottabyte">YiB</span>';}
}
----
Server IP: 85.214.154.209
Probable Submitter: 77.23.159.34
----
Manual Page -- http://www.php.net/manual/en/function.filesize.php
Edit -- https://master.php.net/note/edit/106760
Del: integrated -- https://master.php.net/note/delete/106760/integrated
Del: useless -- https://master.php.net/note/delete/106760/useless
Del: bad code -- https://master.php.net/note/delete/106760/bad+code
Del: spam -- https://master.php.net/note/delete/106760/spam
Del: non-english -- https://master.php.net/note/delete/106760/non-english
Del: in docs -- https://master.php.net/note/delete/106760/in+docs
Del: other reasons-- https://master.php.net/note/delete/106760
Reject -- https://master.php.net/note/reject/106760
Search -- https://master.php.net/manage/user-notes.php