l1nnah / file-size
A library to display and parse readable file sizes
v1.0.0
2025-06-14 17:10 UTC
Requires (Dev)
- phpunit/phpunit: ^12.2
README
A lightweight and extensible PHP library to parse, format, and convert file sizes in a human-readable and localized way.
🚀 Features
- 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.
📥 Installation
composer require l1nnah/filesize
🔧 Usage
Converting 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"
✅ Testing
PHPUnit was used for testing with the commands:
vendor/bin/phpunit tests/FileSizeTest.php vendor/bin/phpunit tests/FileSizeFromStringTest.php
📫 Credits
Developed by tonsoo and published under the nickname of l1nnah.