|
|
|
|
|
для: sim5
(27.07.2008 в 19:46)
| | Ладно, давайте закроем этот разговор. Это все впустую ;) | |
|
|
|
|
|
|
|
для: FireTiger
(26.07.2008 в 15:42)
| | Нет, не устанавливал, но в чужих скриптах, тем более, если "поскольку тоже не ясно, что же все-таки там...", то тем более о каком AJAX может идти речь. | |
|
|
|
|
|
|
|
для: FireTiger
(27.07.2008 в 19:20)
| | Проверил во всех основных браузерах, не работает в Safari, Opera, IE, а работает только в FireFox. Оба варианта. В чем прикол? | |
|
|
|
|
|
|
|
для: FireTiger
(27.07.2008 в 19:20)
| | именно этот скрипт пробовал?
<?php
echo '<pre>';
$f = fopen($_SERVER['DOCUMENT_ROOT'].$_SERVER['PHP_SELF'], 'rb');
$x = false;
while($s = fgets($f))
{
echo htmlspecialchars($s);
ob_flush();
flush();
sleep(1);
}
?>
|
Попробуй именно символ в символ как тут сделай файл, ничего не меняя. Там я так понял жестоко зависит от того где находятся ob_flush(); и flush(); | |
|
|
|
|
|
|
|
для: noob
(26.07.2008 в 17:01)
| | хм... у меня в любом случае скрипт ждет определенное количество секунд, а потом выводит все сразу. Что-то тут не так? | |
|
|
|
|
|
|
|
для: Trianon
(26.07.2008 в 16:59)
| | опа, заработало так:
<?php
echo '<pre>';
$f = fopen($_SERVER['DOCUMENT_ROOT'].$_SERVER['PHP_SELF'], 'rb');
$x = false;
while($s = fgets($f))
{
echo htmlspecialchars($s);
ob_flush();
flush();
sleep(1);
}
?>
|
т.е. ДО flush() добавил ob_flush(), и sleep поставил после этого всего.
Спасибо! | |
|
|
|
|
|
|
|
для: noob
(26.07.2008 в 16:54)
| | У меня он выводит строки посекундно.
Но я предупреждал, что гарантии не будет. Буферизировать вывод может кто угодно посредине. | |
|
|
|
|
|
|
|
для: Trianon
(26.07.2008 в 16:37)
| | Скрипт просто работает 11 секунд (по секунде на 1 строчку файла) с белой страницей, потом сразу выводит все и закрывается. Ничего не меняет. | |
|
|
|
|
|
|
|
для: noob
(26.07.2008 в 16:11)
| |
<?php
echo '<pre>';
$f = fopen($_SERVER['DOCUMENT_ROOT'].$_SERVER['PHP_SELF'], 'rb');
$x = false;
while($s = fgets($f))
{
sleep(1);
echo htmlspecialchars($s);
flush();
}
?>
|
| |
|
|
|
|
|
|
|
для: noob
(25.07.2008 в 22:33)
| | Вы куда-то ушли от темы. Повторю вопрос.
Вот например
<?
echo "1";
sleep(5);
echo "2";
?>
|
Если запустить скрипт с консоли будет так:
1. на экран выведется "1";
2. пройдет 5 секунд;
3. на экран выведется "2";
4. скрипт остановится.
Если запустить скрипт через браузер:
1. пройдет 5 секунд;
2. на экране выведется "12";
3. скрипт остановится.
Как сделать чтобы вывод в браузер соответствовал выводу в консоли?
Пример:
есть бот
<?
...
while (!feof($fp)) {
$str=fgets($fp);
if ($str) echo $str;
} #дальше обрыв соединения
...
?>
|
В консоли он будет выводить информацию по мере ее поступления. Если открывать через браузер, то информация выводится как то странно, раз в 10 минут примерно. Я не уверен что тут что то можно сделать через ajax, потому что если цикл while() тут обрывается, то обрывается и соединение сервера с ботом. | |
|
|
|
|