PHP filesize

Summary: in this tutorial, you will learn how to use the PHP filesize() function to get the size of a file.

Introduction to the PHP filesize() function #

The filesize() function returns the size of a given file in bytes:

filesize ( string $filename ) : int|false

The filesize() function returns the size of the file specified by the $filename in bytes. In case of an error, the function returns false.

PHP filesize() function example #

The following example uses the filesize() function to get the size of the readme.txt file in bytes:

<?php

$filename = 'readme.txt';
echo $filename,': ', filesize($filename),' bytes';

Output:

readme.txt: 19 bytes

In practice, you will rarely use the bytes for showing the size of the file. To get the human-readable size of a file, you can use the following function:

function format_filesize(int $bytes, int $decimals = 2): string
{
    $units = 'BKMGTP';
    $factor = floor((strlen($bytes) - 1) / 3);

    return sprintf("%.{$decimals}f", $bytes / pow(1024, $factor)) . $units[(int)$factor];
}

Summary #

  • Use the PHP filesize() function to get the size of a file in bytes.

Was this helpful?