PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backup, Restore, Migration & Clone / 4.0.0
WP STAGING – WordPress Backup, Restore, Migration & Clone v4.0.0
4.9.3 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 1 year ago DBPermissions.php 1 year ago DataEncoder.php 1 year ago Escape.php 2 years ago Glob.php 2 years ago Hooks.php 1 year ago Math.php 1 year ago PluginInfo.php 2 years ago Sanitize.php 2 years ago ServerVars.php 2 years ago SlashMode.php 5 years ago Strings.php 1 year ago Times.php 1 year ago Urls.php 2 years 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