PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.9.2
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.9.2
4.9.2 4.9.1 4.9.0 4.8.1 trunk 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.1.0 3.1.1 3.1.2 3.1.3 3.1.4 3.10.0 3.2.0 3.3.1 3.3.2 3.3.3 3.4.1 3.4.3 3.5.0 3.6.0 3.7.1 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.8.6 3.8.7 3.9.0 3.9.1 3.9.2 3.9.3 3.9.4 4.0.0 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4 4.2.0 4.2.1 4.3.0 4.3.1 4.3.2 4.4.0 4.5.0 4.6.0 4.7.0 4.7.1 4.7.2 4.7.3 4.8.0
wp-staging / Framework / Utils / Math.php
wp-staging / Framework / Utils Last commit date
Cache 7 months ago DBPermissions.php 9 months ago DataEncoder.php 10 months ago DatabaseOptions.php 2 weeks ago Escape.php 9 months ago Glob.php 2 years ago Hooks.php 2 months ago Math.php 9 months ago PluginInfo.php 5 months ago Sanitize.php 2 months ago ServerVars.php 2 years ago SlashMode.php 5 years ago Strings.php 7 months ago Times.php 5 months ago Urls.php 2 weeks ago Version.php 1 year ago WpDefaultDirectories.php 2 years ago
Math.php
39 lines
1 <?php
2
3 namespace WPStaging\Framework\Utils;
4
5 use WPStaging\Framework\Traits\FormatTrait;
6
7 class Math
8 {
9 use FormatTrait;
10
11 /**
12 * Convert a file size from various units to megabytes (MB).
13 *
14 * @param string $fileSize like 100MB, 100KB, 100B, 100GB, 100TB
15 * @return float|int The file size in megabytes (MB).
16 */
17 public function convertUnitToMB($fileSize)
18 {
19 $units = [
20 'B' => 1 / (1024 * 1024), // Bytes to MB
21 'KB' => 1 / 1024, // KB to MB
22 'MB' => 1,
23 'GB' => 1024, // GB to MB
24 'TB' => 1024 * 1024, // TB to MB
25 ];
26
27 if (preg_match('/^(\d+)\s*(B|KB|MB|GB|TB)$/i', $fileSize, $matches)) {
28 $size = (float) $matches[1];
29 $unit = strtoupper($matches[2]);
30
31 if (!empty($units[$unit])) {
32 return $size * $units[$unit];
33 }
34 }
35
36 return 0;
37 }
38 }
39