wireBytesStr() function

Given a quantity of bytes (int), return readable string that refers to quantity in bytes, kB, MB, GB and TB

Usage

// basic usage
$string = wireBytesStr(int $bytes);

// usage with all arguments
$string = wireBytesStr(int $bytes, $small = false, $options = array);

Arguments

NameType(s)Description
bytesint

Quantity in bytes

small (optional)bool, int, array

Make returned string as small as possible? (default=false)

  • true (bool): Yes, make returned string as small as possible.
  • 1 (int): Same as true but with space between number and unit label.
  • Or optionally specify the $options argument here if you do not need the $small argument.
options (optional)array, int

Options to modify default behavior, or if an integer then decimals option is assumed:

  • decimals (int|null): Number of decimals to use in returned value or NULL for auto (default=null). When null (auto) a decimal value of 1 is used when appropriate, for megabytes and higher (3.0.214+).
  • decimal_point (string|null): Decimal point character, or null to detect from locale (default=null).
  • thousands_sep (string|null): Thousands separator, or null to detect from locale (default=null).
  • small (bool): If no $small argument was specified, you can optionally specify it in this $options array.
  • type (string): To force return value as specific type, specify one of: bytes, kilobytes, megabytes, gigabytes, terabytes; or just: b, k, m, g, t. (3.0.148+ only, terabytes 3.0.214+).

Return value

string


Functions methods and properties

API reference based on ProcessWire core version 3.0.225

Latest news

  • ProcessWire Weekly #489
    In the 489th issue of ProcessWire Weekly we'll check out what's new in the core this week, share a brand-new recipe of the week, and more. Read on!
    Weekly.pw / 23 September 2023
  • ProcessWire 3.0.226 new main/master version
    After 8 months in development we are excited to bring you ProcessWire 3.0.226 main/master. This version has a ton of great new features, improvements and optimizations, plus more than 100 issue fixes. This post takes an in-depth look at highlights from this great new version.
    Blog / 25 August 2023
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK