/** * Test that bytesFrom() returns the numerical equivalent. */ public function testBytesFrom() { $this->assertEquals('0', Number::bytesFrom('')); $this->assertEquals(null, Number::bytesFrom('123AB')); // b $this->assertEquals('1', Number::bytesFrom('1B')); $this->assertEquals('225', Number::bytesFrom('225B')); $this->assertEquals('100', Number::bytesFrom('100')); // kb $this->assertEquals('1024', Number::bytesFrom('1K')); $this->assertEquals('230400', Number::bytesFrom('225KB')); $this->assertEquals('102400', Number::bytesFrom('100KiB')); // mb $this->assertEquals('1048576', Number::bytesFrom('1M')); $this->assertEquals('235929600', Number::bytesFrom('225MB')); $this->assertEquals('104857600', Number::bytesFrom('100MiB')); // gb $this->assertEquals('1073741824', Number::bytesFrom('1G')); $this->assertEquals('241591910400', Number::bytesFrom('225GB')); $this->assertEquals('107374182400', Number::bytesFrom('100GiB')); // tb $this->assertEquals('1099511627776', Number::bytesFrom('1T')); $this->assertEquals('2.473901162496E+14', Number::bytesFrom('225TB')); $this->assertEquals('109951162777600', Number::bytesFrom('100TiB')); // PHPUnit blows up on higher numbers }
/** * Validate an images file size is below the maximum. * * @uses Titon\Utility\Number * * @param array $input * @param int $max * @return bool */ public static function maxFilesize($input, $max) { if (static::file($input)) { $size = $input['size']; } else { if (file_exists($input)) { $size = filesize($input); } else { return false; } } return $size <= Number::bytesFrom($max); }