YiiRequirementChecker::getByteSize PHP Method

getByteSize() public method

For example: '5K' => 5*1024
public getByteSize ( string $verboseSize ) : integer
$verboseSize string verbose size representation.
return integer actual size in bytes.
    function getByteSize($verboseSize)
    {
        if (empty($verboseSize)) {
            return 0;
        }
        if (is_numeric($verboseSize)) {
            return (int) $verboseSize;
        }
        $sizeUnit = trim($verboseSize, '0123456789');
        $size = str_replace($sizeUnit, '', $verboseSize);
        $size = trim($size);
        if (!is_numeric($size)) {
            return 0;
        }
        switch (strtolower($sizeUnit)) {
            case 'kb':
            case 'k':
                return $size * 1024;
            case 'mb':
            case 'm':
                return $size * 1024 * 1024;
            case 'gb':
            case 'g':
                return $size * 1024 * 1024 * 1024;
            default:
                return 0;
        }
    }

Usage Example

 /**
  * @dataProvider dataProviderGetByteSize
  *
  * @param string  $verboseValue     verbose value.
  * @param integer $expectedByteSize expected byte size.
  */
 public function testGetByteSize($verboseValue, $expectedByteSize)
 {
     $requirementsChecker = new YiiRequirementChecker();
     $this->assertEquals($expectedByteSize, $requirementsChecker->getByteSize($verboseValue), "Wrong byte size for '{$verboseValue}'!");
 }