Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как узнать размер файла

Короткий ответ

filesize() возвращает размер в байтах:

<?php
 
$file = sys_get_temp_dir() . '/recipe-size.txt';
file_put_contents($file, str_repeat('a', 3000));
 
echo filesize($file);

Результат:

3000

В понятном виде

Делите на 1024, пока число не станет небольшим:

<?php
 
function readableSize(int $bytes): string
{
    $units = ['B', 'KB', 'MB', 'GB'];
    $index = 0;
    $size = $bytes;
 
    while ($size >= 1024 && $index < count($units) - 1) {
        $size /= 1024;
        $index++;
    }
 
    return round($size, 1) . ' ' . $units[$index];
}
 
echo readableSize(3000), ', ', readableSize(5 * 1024 * 1024);

Результат:

2.9 KB, 5 MB

Функции из этого ответа

  • filesize — Возвращает размер файла в байтах.
  • round — Округляет число до заданного количества знаков.
  • number_format — Форматирует число для показа: знаки после запятой и разделитель тысяч.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.