Так, например, у меня есть файл, загружаемый через FTP и изменения размера файла. Я знаю размер файла заранее. Итак, как мне заставить php отправлять его в браузеры клиентов, даже если файл не завершил загрузку и ждет, пока размер файла не совпадет, прежде чем он закончит буферизацию. Код ниже не обновит дескриптор и не увидит изменения, внесенные в файл. Я мог бы пройти fopen каждый раз, но, может быть, есть правильный путь? Спасибо
$buffer = '';
$cnt =0;
$handle = fopen($filename, 'rb');
if ($handle === false) {
return false;
}
while ($cnt < $totalSize) {
$buffer = fread($handle, 2048);
echo $buffer;
ob_flush();
flush();
$bufferLen = strlen($buffer);
$cnt += $bufferLen;
if(!$bufferLen) sleep(1);
}
fclose($handle);