Raspbian (Debian) на Raspberry Pi (не самая быстрая машина)
ужно получить размер файла более 2 ГБ. (тестирование на 4,6 ГБ файла). Есть ли способ сделать это без внешней программы?
Текущее состояние:
filesize()
, stat()
а такжеfseek()
терпит неудачуfread()
а такжеfeof()
работаетСуществует возможность получить размер файла путем чтения содержимого файла (очень медленно!).
$size = (float) 0;
$chunksize = 1024 * 1024;
while (!feof($fp)) {
fread($fp, $chunksize);
$size += (float) $chunksize;
}
return $size;
Я знаю, как получить его на 64-битных платформах (используяfseek($fp, 0, SEEK_END)
а такжеftell()
), но мне нужно решение для 32-битной платформы.
Решение: Я начал проект с открытым исходным кодом для этого.
Инструменты для работы с большими файламиBig File Tools - это набор хаков, необходимых для манипулирования файлами размером более 2 ГБ в PHP (даже в 32-битных системах).
ответ:https://stackoverflow.com/a/35233556/631369GitHub:https://github.com/jkuchar/BigFileTools