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 字符串 字节

发表评论

相关推荐
朱丰华   |   7个月前   |   php

php判断是否被iframe

221    评论    点赞
朱丰华   |   1年前   |   php

php正则表达式定界符:异常Delimiter must not be alphanumeric or backslash

190    评论    点赞
朱丰华   |   1年前   |   请求 · 一个

ab测压命令,apache测压工具

172    评论    点赞
朱丰华   |   1年前   |   php · 缓存 · opcache

php 加速、提高并发opcache

198    评论    点赞
朱丰华   |   1年前   |   正则 · 表达

正则表达式,实现if...then...else

113    评论    点赞
朱丰华   |   1年前   |   变量 · mysql · sql · 用户

MySQL用户自定义变量

95    评论    点赞
朱丰华   |   1年前   |   sql · php

PHP如何使用PDO批量执行SQL?

115    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 字符串

如何在 PHP 中将字符串的第一个字母转换为大写

150    评论    点赞
朱丰华   |   1年前   |   linux · 文件 · 行数

linux 取得文件行数

50    评论    点赞
朱丰华   |   1年前   |   php · 字符 · 正则

php正则表达式原生字符

86    评论    点赞
朱丰华   |   1年前   |   字符 · php · 比较

PHP比较字符串大小相关函数

111    评论    点赞
朱丰华   |   1年前   |   linux · 文件

linux递归统计文件夹大小、du命令_Linux du命令:查看文件夹和文件的磁盘占用情况

193    评论    点赞
朱丰华   |   1年前   |   php

windows下编写、编译php扩展

158    评论    点赞
朱丰华   |   1年前   |   linux · php

linux下编写、编译php扩展

150    评论    点赞
朱丰华   |   1年前   |   js · export · import

js es6 export,import,export default的用法和区别

125    评论    点赞
朱丰华   |   1年前   |   php · 混淆 · obfuscate · git

yakpro-po混淆php代码

106    评论    点赞
朱丰华   |   1年前   |   php

php扩展编译nts的方法

86    评论    点赞
朱丰华   |   1年前   |   javascript · js · obfuscator · 混淆

javascript-obfuscator混淆js文件

52    评论    点赞
朱丰华   |   1年前   |   html

html input datetime-local设置初始值

99    评论    点赞
朱丰华   |   1年前   |   linux · 变量 · 环境

linux查看环境变量、设置环境变量

94    评论    点赞
{{item.author_name}}   |   {{new Date(item.date*1000).log()}}   |   {{it}} ·

{{item.title}}

{{item.uv}}    评论    点赞