@@ 116-126 (lines=11) @@ | ||
113 | * @throws \RuntimeException |
|
114 | * @return int |
|
115 | */ |
|
116 | public static function toBytes($value) |
|
117 | { |
|
118 | if (!preg_match('#^[0-9]*[BKMGT]$#i', $value)) { |
|
119 | throw new RuntimeException('Invalid size value'); |
|
120 | } |
|
121 | $units = ['B' => 0, 'K' => 1, 'M' => 2, 'G' => 3, 'T' => 4, 'P' => 5]; |
|
122 | $unit = strtoupper(substr($value, -1)); |
|
123 | $number = intval(substr($value, 0, -1)); |
|
124 | ||
125 | return $number * pow(1024, $units[$unit]); |
|
126 | } |
|
127 | ||
128 | /** |
|
129 | * Return time in seconds for a given value. |
|
@@ 147-157 (lines=11) @@ | ||
144 | * @throws \RuntimeException |
|
145 | * @return integer |
|
146 | */ |
|
147 | public static function toTime($offset) |
|
148 | { |
|
149 | if (!preg_match('#^[1-9]+[0-9]*[SIHDWMY]$#i', $offset)) { |
|
150 | throw new RuntimeException(sprintf('Invalid value for offset: %s', $offset)); |
|
151 | } |
|
152 | $units = ['S' => 1, 'I' => 60, 'H' => 3600, 'D' => 86400, 'W' => 604800, 'M' => 2678400, 'Y' => 31536000]; |
|
153 | $unit = strtoupper(substr($offset, -1)); |
|
154 | $number = intval(substr($offset, 0, -1)); |
|
155 | ||
156 | return $number * $units[$unit]; |
|
157 | } |
|
158 | ||
159 | /** |
|
160 | * Pads all given strings to given length. |