PHP实现字节数Byte转换为KB、MB、GB、TB的方法 原创
本文实例讲述了PHP实现字节数Byte转换为KB、MB、GB、TB的方法。分享给大家供大家参考,具体如下:
前面介绍了java实现字节数Byte转换为KB、MB、GB、TB的方法 ,这里改用PHP实现这一功能。代码非常简单:
<?php function getFilesize($num){ $p = 0; $format='bytes'; if($num>0 && $num<1024){ $p = 0; return number_format($num).' '.$format; } if($num>=1024 && $num<pow(1024, 2)){ $p = 1; $format = 'KB'; } if ($num>=pow(1024, 2) && $num<pow(1024, 3)) { $p = 2; $format = 'MB'; } if ($num>=pow(1024, 3) && $num<pow(1024, 4)) { $p = 3; $format = 'GB'; } if ($num>=pow(1024, 4) && $num<pow(1024, 5)) { $p = 3; $format = 'TB'; } $num /= pow(1024, $p); return number_format($num, 3).' '.$format; } echo "来自我们www.jb51.net的测试结果:<br/>"; echo getFilesize(200)."<br/>"; echo getFilesize(20000)."<br/>"; echo getFilesize(2000000)."<br/>"; echo getFilesize(200000000)."<br/>"; echo getFilesize(20000000000)."<br/>"; echo getFilesize(2000000000000)."<br/>"; ?>
运行结果如下图:
PS:这里再为大家推荐几款相关在线工具供大家参考使用:
在线万能单位换算器flash版(“数据存储”项即为本文所述单位换算):
http://tools.jb51.net/zhuanhuanqi/all_zhuanhuanqi
科学计算器在线使用_高级计算器在线计算:
http://tools.jb51.net/jisuanqi/jsqkexue
在线硬盘分区计算器:
http://tools.jb51.net/jisuanqi/onlinediskjsq
更多关于PHP相关内容感兴趣的读者可查看本站专题:《php字符串(string)用法总结》、《PHP数据结构与算法教程》、《php程序设计算法总结》、《PHP数组(Array)操作技巧大全》、《PHP常用遍历算法与技巧总结》及《PHP数学运算技巧总结》
希望本文所述对大家PHP程序设计有所帮助。
相关推荐
-
用PHP来计算某个目录大小的方法
PHP CURL session COOKIE 可以调用系统命令,还可以这样: 复制代码 代码如下: function dirsize($dir) { @$dh = opendir($dir); $size = 0; while ($file = @readdir($dh)) { if ($file != "." and $file != "..") { $path = $dir."/".$file; if (is_dir($path)) { $
-
php使用递归计算文件夹大小
方法很简单,这里就不多废话了,直接奉上代码: 复制代码 代码如下: protected function dir_size($dir){ $dh = opendir($dir); //打开目录,返回一个目录流 $size = 0; //初始大小为0 while(false !== ($file = @readdir($dh))){ //循环读取目录下的文件 if($file!='.'
-
PHP中字符与字节的区别及字符串与字节转换示例
字符: 字符是可使用多种不同字符方案或代码页来表示的抽象实体.例如,Unicode UTF-16 编码将字符表示为 16 位整数序列,而 Unicode UTF-8 编码则将相同的字符表示为 8 位字节序列.公共语言运行库使用 Unicode UTF-16(Unicode 转换格式,16 位编码形式)表示字符. php在UTF-8编码下,一个汉字占3个字符,gbk编码下只占2个字符. 字节(Byte): 字节是通过网络传输信息(或在硬盘或内存中存储信息)的单位. 应用: 如果数据库中表为UTF8
-
php计算整个目录大小的方法
本文实例讲述了php计算整个目录大小的方法.分享给大家供大家参考.具体实现方法如下: /** * Calculate the full size of a directory * * @author Jonas John * @version 0.2 * @param string $DirectoryPath Directory path */ function CalcDirectorySize($DirectoryPath) { // I reccomend using a normali
-
php字符串截取中文截取2,单字节截取模式
//中文截取2,单字节截取模式 function cn_substr($str,$slen,$startdd=0){ $restr = ""; $c = ""; $str_len = strlen($str); if($str_len < $startdd+1) return ""; if($str_len < $startdd + $slen || $slen==0) $slen = $str
-
php对文件夹进行相关操作(遍历、计算大小)
为大家分享的第一个操作内容: 遍历并打印指定目录下所有文件 <?php //功能:遍历并打印指定目录下所有文件 function scan_dir($dir_name,$dir_flag=1) { static $FILE_COUNT=1; //记录文件数目 初值为1 目录名称不记 $FILE_COUNT--; //每调用一次scan_dir()函数自减1 @$dir_handle=opendir($dir_name); //抑制错误信息显示 便于自定义错误显示 if(!$dir_handle)
-
php计算整个mysql数据库大小的方法
本文实例讲述了php计算整个mysql数据库大小的方法.分享给大家供大家参考.具体如下: 这里用MB,KB或者GB的格式返回计算结果. function CalcFullDatabaseSize($database, $db) { $tables = mysql_list_tables($database, $db); if (!$tables) { return -1; } $table_count = mysql_num_rows($tables); $size = 0; for ($i=0
-
php strlen mb_strlen计算中英文混排字符串长度
比较strlen和mb_strlen 当字符全是英文字符的时候,两者是一样.这里主要比较一下,中英文混排的时候,两个计算结果.(测试时编码方式是UTF8) 复制代码 代码如下: <?php $str='中文a字1符'; echo strlen($str); echo '<br />'; echo mb_strlen($str,'UTF8'); //输出结果 //14 //6 ?> 结果分析:在strlen计算时,对待一个UTF8的中文字符是3个长度,所以"中文a字1符&q
-
php计算一个文件大小的方法
本文实例讲述了php计算一个文件大小的方法.分享给大家供大家参考.具体如下: <?php function dirSize($directoty){ $dir_size=0; if($dir_handle=@opendir($directoty)) { while($filename=readdir($dir_handle)){ $subFile=$directoty.DIRECTORY_SEPARATOR.$filename; if($filename=='.'||$filename=='..
-
PHP实现字节数Byte转换为KB、MB、GB、TB的方法 原创
本文实例讲述了PHP实现字节数Byte转换为KB.MB.GB.TB的方法.分享给大家供大家参考,具体如下: 前面介绍了java实现字节数Byte转换为KB.MB.GB.TB的方法 ,这里改用PHP实现这一功能.代码非常简单: <?php function getFilesize($num){ $p = 0; $format='bytes'; if($num>0 && $num<1024){ $p = 0; return number_format($num).' '.$f
-
Java实现字节数B转化为KB、MB、GB的方法示例【测试可用】
本文实例讲述了Java实现字节数B转化为KB.MB.GB的方法.分享给大家供大家参考,具体如下: 在文件处理的系统中,很容易就能通过一些系统自带的方法取出其大小,问题是这个大小往往只是一个字节数B. 如果要把这个字节数转化为KB.MB.GB的最终呈现给用户,则涉及到整除与取余的算术运算. 方法如下: public static String getPrintSize(long size) { //如果字节数少于1024,则直接以B为单位,否则先除于1024,后3位因太少无意义 if (size
-
JS实现根据文件字节数返回文件大小的方法
本文实例讲述了JS实现根据文件字节数返回文件大小的方法.分享给大家供大家参考,具体如下: function getFileSize(fileByte) { var fileSizeByte = fileByte; var fileSizeMsg = ""; if (fileSizeByte < 1048576) fileSizeMsg = (fileSizeByte / 1024) + "KB"; else if (fileSizeByte == 104857
-
关于安卓手机微信浏览器中使用XMLHttpRequest 2上传图片显示字节数为0的解决办法
前端JS中使用XMLHttpRequest 2上传图片到服务器,PC端和大部分手机上都正常,但在少部分安卓手机上上传失败,服务器上查看图片,显示字节数为0.下面是上传图片的核心代码: HTML <input type="file" id="choose" capture="camera" accept="image/*"> JavaScript var filechooser = document.getEleme
-
c# 获取字符串的字节数的方法
将字符串转换为ASCII编码数组,只要是中文字节码就是ASCII编码63即"?",所以可以由此来进行判断 复制代码 代码如下: class StringOP { /// <summary> /// 获取中英文混排字符串的实际长度(字节数) /// </summary> /// <param name="str">要获取长度的字符串</param>
-
如何在Go中将[]byte转换为io.Reader
目录 []byte 转 io.Reader io.Reader 转 []byte 源码解析 Reader 接口 Writer 接口 转换原理 总结 在 stackoverflow 上看到一个问题,题主进行了一个网络请求,接口返回的是 []byte.如果想要将其转换成 io.Reader,需要怎么做呢? 这个问题解决起来并不复杂,简单几行代码就可以轻松将其转换成功.不仅如此,还可以再通过几行代码反向转换回来. 下面听我慢慢给你吹,首先直接看两段代码. []byte 转 io.Reader pack
-
计算一个Java对象占用字节数的方法
本文实例讲述了如何计算(或者说,估算)一个Java对象占用的内存数量的方法.分享给大家供大家参考.具体分析如下: 通常,我们谈论的堆内存使用的前提是以"一般情况"为背景的.不包括下面两种情形: 某些情况下,JVM根本就没有把Object放入堆中.例如:原则上讲,一个小的thread-local对象存在于栈中,而不是在堆中. 被Object占用内存的大小依赖于Object的当前状态.例如:Object的同步锁是否生效,或者,Object是否正在被回收. 我们先来看看在堆中单个的Obj
-
Java整型数与网络字节序byte[]数组转换关系详解
本文实例讲述了Java整型数与网络字节序byte[]数组转换关系.分享给大家供大家参考,具体如下: 工作项目需要在java和c/c++之间进行socket通信,socket通信是以字节流或者字节包进行的,socket发送方须将数据转换为字节流或者字节包,而接收方则将字节流和字节包再转换回相应的数据类型.如果发送方和接收方都是同种语言,则一般只涉及到字节序的调整.而对于java和c/c++的通信,则情况就要复杂一些,主要是因为java中没有unsigned类型,并且java和c在某些数据类型上的长
-
C#(.net)中按字节数截取字符串最后出现乱码问题的解决
前言 最近需要用到按字节数截取字符串.在网上找了很多方法. Encoding.Default.GetString采用的Default Encoding.UTF8.GetBytes采用的是utf-8编码.这样当然是乱码.尤其出现中文时候. 对这类数据处理当然要用统一的编码来处理.下面话不多说了,来一起看看详细的介绍吧 例子:1 string msg= Encoding.UTF8.GetString(Encoding.UTF8.GetBytes(strcode)); 例子:2 string strc
-
C#使用System.Buffer以字节数组Byte[]操作基元类型数据
1. Buffer.ByteLength:计算基元类型数组累计有多少字节组成. 该方法结果等于"基元类型字节长度 * 数组长度" var bytes = new byte[] { 1, 2, 3 }; var shorts = new short[] { 1, 2, 3 }; var ints = new int[] { 1, 2, 3 }; Console.WriteLine(Buffer.ByteLength(bytes)); // 1 byte * 3 elements = 3
随机推荐
- Redis实现唯一计数的3种方法分享
- vbs 注册表操作类代码
- 用vbs实现按创建日期的顺序列出一个文件夹中的所有文件
- 正则表达式教程之元字符的使用详解
- python爬虫入门教程--快速理解HTTP协议(一)
- Java中的值传递和引用传递实例介绍
- Python re模块介绍
- Android Bitmap压缩方式分析
- weex里Vuex state使用storage持久化详解
- JS对字符串编码的几种方式使用指南
- Nodejs+express+ejs简单使用实例代码
- php数组函数序列之ksort()对数组的元素键名进行升序排序,保持索引关系
- 变量在 PHP7 内部的实现(二)
- 用vbs实现解除注册表CMD、Regedit、Taskmgr限制的脚本代码
- 丢失的数据忘记备份的处理方法[图文]第1/2页
- Javascript实例教程(19) 使用HoTMetal(6)
- jquery多选项卡效果实例代码(附效果图)
- jQuery插件zTree实现获取当前选中节点在同级节点中序号的方法
- 什么是分表和分区 MySql数据库分区和分表方法
- JMenuTab简单使用说明