Определение размера больших файлов на FTP

Статус
В этой теме нельзя размещать новые ответы.

bumer3

Постоялец
Регистрация
10 Янв 2008
Сообщения
291
Реакции
155
Проблема такая:
- Есть скрипт который проверяет размер файлов на фтп, но если размер больше чем 2048 МБ то размер будет определен как 2048 МБ. Как можно решить даную проблему?
 
код в студию =)
 
тоже такая проблема если рамере больше 2048 пишит -2048
код:
$razmer = filesize($filename)/1000000;
$razmer=(integer)$razmer;
print "<b>пЮГЛЕП:</b> ".$razmer."Mb<br />";
 
из мануала:
Замечание: Поскольку PHP использует знаковое представления для чисел целого типа, а многие платформы используют 32-битные целые числа, функция filesize() может возвращать неожиданные значения для файлов, чей размер превосходит 2 Гб. Если размер файла находится в пределах 2 - 4 Гб, корректное значение можно получить, используя конструкцию sprintf("%u", filesize($file)).
 
из мануала:
Замечание: Поскольку PHP использует знаковое представления для чисел целого типа, а многие платформы используют 32-битные целые числа, функция filesize() может возвращать неожиданные значения для файлов, чей размер превосходит 2 Гб. Если размер файла находится в пределах 2 - 4 Гб, корректное значение можно получить, используя конструкцию sprintf("%u", filesize($file)).

Так sprintf("%u", filesize($file)) можно использовать и для фаилов рамером меньше 2гб или надо делать через иф?
 
Так sprintf("%u", filesize($file)) можно использовать и для фаилов рамером меньше 2гб или надо делать через иф?

%u в sprintf означает "понимать число как целое без знака". sprintf("%u", filesize($file)) = строка с числом от 1 до 4гб.

sprintf("%u", filesize($file)) адекватно только д л я файлов не больше 4гб
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху