Here is another way to get the result in bytes using PHP8
<?php
    public function getBytes(string $size): int
    {
        $size = trim($size);
        preg_match('/([0-9]+)[\s]*([a-zA-Z]+)/', $size, $matches);
        $value = (isset($matches[1])) ? $matches[1] : 0;
        $metric = (isset($matches[2])) ? strtolower($matches[2]) : 'b';
        $value *= match ($metric) {
            'k', 'kb' => 1024,
            'm', 'mb' => (1024 ** 2),
            'g', 'gb' => (1024 ** 3),
            't', 'tb' =>  (1024 ** 4),
            default => 0
        };
        return (int)$value;
    }
        echo getBytes('2GB') . "</br>";
        echo getBytes('4tb') . "</br>";
        echo getBytes('5345etrgrfd') . "</br>";
        echo getBytes('357568336586') . "</br>";
        ?>