FileSize::__invoke()   A
last analyzed

Complexity

Conditions 3
Paths 2

Size

Total Lines 10
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 1
Metric Value
c 1
b 0
f 1
dl 0
loc 10
rs 9.4285
cc 3
eloc 7
nc 2
nop 2
1
<?php
2
3
namespace AtBase\View\Helper;
4
5
use Zend\View\Helper\AbstractHelper;
6
7
class FileSize extends AbstractHelper
8
{
9
    protected static $_prefixes = array('', 'k', 'M', 'G', 'T', 'P', 'E', 'Z', 'Y');
10
	
11
	public function __invoke($size, $precision = 2)
12
    {        
13
        $result = $size;
14
        $index = 0; 
15
        while ($result > 1024 && $index < count(self::$_prefixes)) {
16
            $result = $result / 1024;
17
            $index++;
18
        }
19
        return sprintf('%1.' . $precision . 'f %sB', $result, self::$_prefixes[$index]);
20
    }
21
}