PluginProbe ʕ •ᴥ•ʔ
WP STAGING – WordPress Backups, Restore, Migration & Clone / 4.9.3
WP STAGING – WordPress Backups, Restore, Migration & Clone v4.9.3
4.11.2 4.11.1 4.11.0 4.10.0 4.9.5 4.9.4 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 9 months ago DBPermissions.php 10 months ago DataEncoder.php 1 year ago DatabaseOptions.php 2 months ago Escape.php 10 months ago Glob.php 2 years ago Hooks.php 4 months ago Math.php 10 months ago PluginInfo.php 7 months ago Sanitize.php 4 months ago ServerVars.php 2 years ago SlashMode.php 5 years ago Strings.php 9 months ago Times.php 7 months ago Urls.php 2 months 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