rych/bytesize

用于优雅地格式化文件大小的实用组件

v1.0.0 2014-04-04 18:06 UTC

This package is auto-updated.

Last update: 2024-09-23 11:55:48 UTC


README

Latest Version on Packagist Software License Build Status Quality Score Total Downloads

ByteSize 是一个用于以各种格式格式化文件大小的实用组件。

需求

  • PHP 5.3+
  • BCMath 扩展

安装

通过 Composer

$ composer require rych/bytesize

用法

基本用法非常简单。创建一个 Rych\ByteSize\ByteSize 实例并调用其 format() 方法。

<?php

// Default formatter is metric (kilobyte = 1000 bytes)
$bytesize = new \Rych\ByteSize\ByteSize;

// Outputs 1.44MB
echo $bytesize->format(1440000);

默认格式化器也可以自定义,使用 \Rych\ByteSize\Formatter\Metric\Rych\ByteSize\Formatter\Binary 类。度量格式化器基于1000字节的千字节,并使用标准SI后缀(kB,MB,GB,TB等)。二进制格式化器基于1024字节的千字节,并使用标准的二进制后缀(KiB,MiB,GiB,TiB等)。两个格式化器在格式化输出中都使用默认的2位有效数字精度,但也可以更改到0-10范围内的任何数字。

<?php

// Use the binary formatter with a default precision of 1
$formatter = new \Rych\ByteSize\Formatter\Binary;
$formatter->setPrecision(1);
$bytesize = new \Rych\ByteSize\ByteSize($formatter);

// Outputs 1.4MiB
echo $bytesize->format(1509949);

精度也可以通过调用时传递给 format() 方法的第二个参数来设置。

如果您不关心所有这些面向对象的东西,核心 \Rych\ByteSize 类还提供了两个静态方法: formatMetric()formatBinary()。方法签名与标准 format() 方法相同。

<?php

use \Rych\ByteSize\ByteSize;

// Static methods also work in a pinch
echo ByteSize::formatMetric(1440000); // 1.44MB
echo ByteSize::formatBinary(1509949); // 1.44MiB

测试

$ vendor/bin/phpunit -c phpunit.dist.xml

许可证

MIT 许可证(MIT)。有关更多信息,请参阅 许可证文件