php高可用字节显示,字节大小转数值和字符串大小字符串转换
php
字符串
字节
编程进阶笔记
发布日期
2023-02-08
更新日期
2023-02-08
阅读次数 140
文章字数 721
显示文件大小,一般以B,KB,MB,GB,TB这样带单位的字符串显示。通常会把int字节转换为字符串。
而有的时候,又需要把把KB,MB这样的字符串重新转换为bytes字节。
<?php
//bytes大小,转换为字符串大小
function bytesToStrBytes(float $size):string
{
$units = array('B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB'); //已知php的int最大为8EB
for ($i = 0; $size >= 1024; $i++) $size /= 1024;
return round($size, 2).' '.$units[$i]; //四舍五入保留2位小数
}
$strSize = bytesToStrBytes(10250); // 10.01 KB
echo $strSize,"<br>";
//字符串大小,转换为bytes
function strBytesToBytes(string $str):int
{
$units = array('B'=>1, 'KB'=>1024, 'MB'=>1024, 'GB'=>1024, 'TB'=>1024, 'PB'=>1024, 'EB'=>1024);
$floatNumber = floatval($str); //单位数字
$unitVal = trim(substr($str,strlen(''.$floatNumber))); //单位
$unitSize = 1;
foreach ($units as $unit => $interval){
$unitSize *= $interval;
if($unit==$unitVal){
break;
}
}
return floor($floatNumber * $unitSize);
}
$size = strBytesToBytes($strSize); //10250
echo $size;
die;
文章作者: 朱丰华
文章链接: https://smart.52dixiaowo.com/blog/post-351.html
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。
php
字符串
字节
发表评论
相关推荐