A lightweight and extensible PHP library to parse, format, and convert file sizes in a human-readable and localized way.
cloned from https://github.com/tonsoo/filesize
modified for PHP7
- Convert bytes to human-readable formats (KB, MB, GB, etc.);
- Format file sizes with custom decimal and thousand separators;
- Parse strings like
"123.45 MB"or"1.234,56 KB"into bytes; - Multi-locale support with optional Laravel integration;
- Fully tested with PHPUnit.
composer require landall/filesizeConverting bytes to human-readable format:
use L1nnah\FileSize\FileSizeConverter;
use L1nnah\FileSize\FileSizeUnits;
$valueInBytes = 123456;
$converter = new FileSizeConverter($valueInBytes);
$readable = $converter->convertTo(FileSizeUnits::KB);
echo $readable->toFixed(2); // Expected: "120.56 KB"
Parsing from human-readable string:
use L1nnah\FileSize\FileSizeConverter;
$converter = FileSizeConverter::fromString("1.234,56 MB");
echo $converter->sizeInBytes; // Expected: "1294467072"PHPUnit was used for testing with the commands:
vendor/bin/phpunit tests/FileSizeTest.php
vendor/bin/phpunit tests/FileSizeFromStringTest.phpDeveloped by tonsoo and published under the nickname of l1nnah.