Как узнать размер файла
Короткий ответ
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 — Форматирует число для показа: знаки после запятой и разделитель тысяч.