sanu0074
Новичок
Здравствуйте. Есть цикл, который делает операции и ложит текст в файл таким методом:
Цикл этот может длиться около 20 секунд.
Во время выполнения этого цикла, посылаются запросы с интервалом в 2 сек. к методу который возвращает содержимое этого файла:
Проблема в том, что содержимое файла, возвращается только через 20 сек (время которое выполняется скрипт с циклом), а не по мере его наполнения каждые 2 сек. Т.е. файл должен постепенно расти, и его куски должны возвращаться методом getConsole() по мере наполнения, так мы получаем лог действий, пока юзер ждет до конца выполнения скрипта - он видит что делается в этот момент.
Даже на сервере (win7, php 5.5), проверяю содержимое файла, он пуст при старте скрипта = 0 кб, и все 20сек выполнения он тоже пуст (нет содержимого) и вес = 0кб, но через 20сек, по окончанию работы скрипта он сразу моментально весит 19кб и в нем есть текст.
Как победить эту задачу?
PHP:
public function addToConsole($str,$class="n"){
$currentText = file_get_contents($this->console);
$console = fopen($this->console, "w");
fwrite($console, $currentText."<p>".date("Y/m/d G:i:s")." <span class='".$class."'>".$str."</span></p>");
fclose($console);
}
Во время выполнения этого цикла, посылаются запросы с интервалом в 2 сек. к методу который возвращает содержимое этого файла:
PHP:
public function getConsole(){
exit(file_get_contents($this->user->console));
}
Даже на сервере (win7, php 5.5), проверяю содержимое файла, он пуст при старте скрипта = 0 кб, и все 20сек выполнения он тоже пуст (нет содержимого) и вес = 0кб, но через 20сек, по окончанию работы скрипта он сразу моментально весит 19кб и в нем есть текст.
Как победить эту задачу?