brianium / nomnom
Simple file size conversion for PHP 5.3+
Installs: 111 814
Dependents: 1
Suggesters: 0
Security: 0
Stars: 11
Watchers: 3
Forks: 0
Open Issues: 0
Requires
- ext-bcmath: *
Requires (Dev)
- phpunit/phpunit: 3.7.*
This package is auto-updated.
Last update: 2024-12-23 02:20:42 UTC
README
Get it? Bytes? Bites?
Nomnom handles file size conversion for PHP 5.3+. It handles both binary (base 2) and metric (base 10) conversions. It provides a simple interface for converting between sizes of any similar base!
Usage
A Nomnom object is constructed with a "start" value that will be converted.
Two methods are defined on this object: from
and to
. Each of these methods takes
a metric or binary unit to convert from/to.
The to
method takes an optional precision
value to specify how many significant
digits to keep in the result.
$nomnom = new Nomnom(1440000); //metric conversion to 1.44 $mb = $nomnom->from('B')->to('MB', 2); $nomnom = new Nomnom(1024); //binary conversion to 1 $kb = $nomnom->from('KiB')->to('MiB'); //convert a file size $filesize = new Filesize('/path/to/file.txt'); $mb = $filesize->to('MB');
As a convenience, Nomnom provides a factory method called nom
and constants for the metric
and binary units.
//returns 1.44 Nomnom::nom(1440000)->from(Nomnom::BYTES)->to(Nomnom::MB, 2); //factory for Filesize Nomnom::file('/path/to/file.txt')->to(Nomnom::MB);
Notes
'B' refers to bytes in either base 10 or base 2.
Nomnom will throw a ConversionException
if the from
and to
methods contain units
for different bases, i.e no $nomnom->from('KiB')->to('MB');
Nomnom requires the bcmath extension to handle greater precision.
Tests
To run the tests, make sure dependencies have been installed with composer install --dev
and run:
vendor/bin/phpunit test/