chrisullyott / php-filesize
轻松计算文件大小并在单位之间进行转换。
v4.2.1
2021-10-17 22:52 UTC
Requires
- php: >=7.1
Requires (Dev)
- phpunit/phpunit: ^7
README
php-filesize
一个灵活的文件大小处理和单位转换的包。
安装
将其包含在项目中,或者使用 Composer 进行安装
$ composer require chrisullyott/php-filesize
实例化
在创建和其方法中,FileSize
对象理解几乎任何数据大小的表达方式。您可以使用大小来实例化它,或者最初将其留空。
use ChrisUllyott\FileSize; $size = new FileSize('500 GB');
单位转换
使用 as()
将大小导出为另一种格式。
echo $size->as('MB'); // 512000
这里也支持各种文件大小字符串。
echo $size->as('megabytes'); // 512000
第二个参数指定小数精度(默认为 2
)。
echo $size->as('TB', 3); // 0.488
用户友好的格式化
使用 asAuto()
获取用户友好的字符串
$size = new FileSize('1234522678.12 KB'); echo $size->asAuto(); // '1.15 TB'
可选的,asAuto()
还提供了小数精度。
$size = new FileSize('1234522678.12 KB'); echo $size->asAuto(5); // '1.14974 TB'
或者,简单地使用 echo
对象以实现相同的功能
echo $size; // '1.15 TB'
修改大小
要修改,请使用 add()
、subtract()
、multiplyBy()
和 divideBy()
。
$size = new FileSize('4 GB'); $size->add('2G') ->subtract('1 gigabytes') ->multiplyBy(4) ->divideBy(2); echo $size; // '10.00 GB'
支持负值。在下面的示例中,减去了 1.2 兆字节
$size->add('-1.2mb');
您也可以使用数组的值与 add()
和 subtract()
一起使用
$size->add(['50mb', '140mb', '1.2mb']);
数字基数
构造函数的第二个参数是数字基数,它接受 2
(二进制)或 10
(十进制)。我们默认使用二进制。要处理十进制大小
$size = new FileSize(10921134, 10); echo $size; // '10.92 MB'
小数分隔符
构造函数的第三个参数是小数分隔符,默认为点 .
。在这里,您可以使用逗号代替。所选的小数分隔符将用于正确解析数字,并在输出时格式化它们。
$size = new FileSize('1.234.522.678,12 KB', 2, ','); echo $size; // '1,15 TB'