有时候需要把byte文件单位转换成KB,MB,GB等大家容易接受的人性化文件大小单位,但是有时候又需要把byte换成KB,MB,GB,今天就分享一个「PHP样例分析:文件大小G,M,K单位转换到byte单位」,样例代码如下:
function return_bytes($val) { $last = strtolower($val{strlen($val)-1}); if (!is_numeric($val)) { $val = substr(trim($val), 0, -1); } switch($last) { case 'g': $val *= 1024; case 'm': $val *= 1024; case 'k': $val *= 1024; } return $val; }代码第一行是把单位最后的单位字符转换成小写字母。
然后根据gmk来对应的做乘法。
这里有个很巧妙的switch语句,顺序是'g','m','k'的顺序执行。case里面没有加上break语句。
这样的结果是,为'g'的时候,$val *=1024会执行3次。其他的也类似。
不得不说本段代码比较简洁合理。逻辑清晰。大家可以参考下!