Skip to content

tonsoo/filesize

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

📦 FileSize — Human-friendly file size handling for PHP

Latest Version on Packagist Tests License

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.

About

A library to display and parse readable file sizes

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages