У меня есть этот цикл для длинного опроса:
$time = time(); //send a blank response after 15sec
while((time() - $time) < 15) {
$last_modif = filemtime("./logs.txt");
if($_SESSION['lasttime'] != $last_modif) {
$_SESSION['lasttime'] = $last_modif;
$logs = file_get_contents("./logs.txt");
print nl2br($logs);
ob_flush();
flush();
die();
}
usleep(10000);
}
Проблема в том, что условие «если» никогда не вводится в середине цикла while, даже если logs.txt изменен.Мне нужно подождать 15 секунд до следующего вызова этого файла, чтобы получить обновленный контент (так что он становится обычным опросом AJAX "стиль setTimeout", а не длинным опросом).Есть идеи почему?