<?php
for ($i=1;i<=10;i++) {
echo $i;
sleep(1);
}
?>
В этой программе все выведется на экран после ее завершения. А нужно чтобы значение переменной $i выводилось во время работы цикла. Кто знает, помогите, пожалуйста
Спустя 3 минуты, 37 секунд (29.07.2011 - 20:25) sharki написал(а):
PHP не позволит так сделать, он получил запрос, и выдал ответ - всё! На JS еще возможно, но не на PHP
Спустя 24 секунды (29.07.2011 - 20:25) alex12060 написал(а):
sayp
Нет, на PHP не получится так. Это серверный язык, он не умеет делать сразу вывод.
Для этого, используй JS
Нет, на PHP не получится так. Это серверный язык, он не умеет делать сразу вывод.
Для этого, используй JS
Спустя 10 минут, 56 секунд (29.07.2011 - 20:36) VolDroN написал(а):
хм, а так:
for ($i=1;i<=10;i++) {
echo $i;
flush();
sleep(1);
}
Спустя 1 минута, 6 секунд (29.07.2011 - 20:37) sharki написал(а):
VolDroN
PHP должен обрабатывать код за доли секунды, а вы делаете какую то хрень мягко говоря
PHP должен обрабатывать код за доли секунды, а вы делаете какую то хрень мягко говоря
Спустя 18 секунд (29.07.2011 - 20:38) Winston написал(а):
VolDroN
И так тоже не пойдет
И так тоже не пойдет
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 9 секунд (29.07.2011 - 20:38) Invis1ble написал(а):
VolDroN
вывод будет после полной отработки скрипта
вывод будет после полной отработки скрипта
Спустя 9 минут, 10 секунд (29.07.2011 - 20:47) bodja написал(а):
Яву нужно брать...за рога
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 2 минуты, 26 секунд (29.07.2011 - 20:49) VolDroN написал(а):
ууупс, ошибся
просто видел где то пример такой, не тестил.
sharki еслиб даже работало, у него и так там sleep на секунду стоит.
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
sharki еслиб даже работало, у него и так там sleep на секунду стоит.
Спустя 21 секунда (29.07.2011 - 20:50) Invis1ble написал(а):
bodja
почему именно яву? вроде на пайтоне тоже решается, ну и не только...
почему именно яву? вроде на пайтоне тоже решается, ну и не только...
Спустя 7 минут, 36 секунд (29.07.2011 - 20:57) Invis1ble написал(а):
VolDroN
чтобы заработал предложенный тобой вариант, нужен "вантуз" для пробивки буффера браузера (256 байт), ну и зависит от браузера еще, заработает ли:
чтобы заработал предложенный тобой вариант, нужен "вантуз" для пробивки буффера браузера (256 байт), ну и зависит от браузера еще, заработает ли:
for ($i = 1; $i <= 10; $i ++) {
echo str_pad($i . '<br />', 256, ' ', STR_PAD_LEFT);
flush();
sleep(1);
}
Спустя 14 минут, 41 секунда (29.07.2011 - 21:12) VolDroN написал(а):
Invis1ble эх, всё ты знаешь
спасибо
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 2 минуты, 37 секунд (29.07.2011 - 21:15) Invis1ble написал(а):
VolDroN
да не за что, иногда полезно в мануал заглянуть
да не за что, иногда полезно в мануал заглянуть
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Спустя 48 минут, 20 секунд (29.07.2011 - 22:03) killer8080 написал(а):
sayp
тут проблема не в php, он то как раз отдаёт контент сразу, иначе не было бы ошибок при вызове header() в середине скрипта после echo, например![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Единственное что мешает - это буферизация, а она есть как на стороне клиента, как упоминал Invis1ble, так и на стороне сервера. Причём не обязательно чтоб был запущен ob_start(), буферизация может быть запущена механизмом сессий например. Ещё на многих хостингах апач стоит в связке с nginx, а в последнем принудительно может быть включено gzip сжатие, которое так же буферизирует вывод. Так что метод вантуза может не сработать на хостинге
тут проблема не в php, он то как раз отдаёт контент сразу, иначе не было бы ошибок при вызове header() в середине скрипта после echo, например
![smile.gif](http://phpforum.ru/html/emoticons/smile.gif)
Единственное что мешает - это буферизация, а она есть как на стороне клиента, как упоминал Invis1ble, так и на стороне сервера. Причём не обязательно чтоб был запущен ob_start(), буферизация может быть запущена механизмом сессий например. Ещё на многих хостингах апач стоит в связке с nginx, а в последнем принудительно может быть включено gzip сжатие, которое так же буферизирует вывод. Так что метод вантуза может не сработать на хостинге
![wink.gif](http://phpforum.ru/html/emoticons/wink.gif)
Спустя 2 часа, 9 минут, 24 секунды (30.07.2011 - 00:12) twin написал(а):
И прокси еще...
Спустя 11 минут, 53 секунды (30.07.2011 - 00:24) Arni написал(а):
Цитата (killer8080 @ 29.07.2011 - 19:03) |
sayp тут проблема не в php, он то как раз отдаёт контент сразу, иначе не было бы ошибок при вызове header() в середине скрипта после echo, например ![]() Единственное что мешает - это буферизация, а она есть как на стороне клиента, как упоминал Invis1ble, так и на стороне сервера. Причём не обязательно чтоб был запущен ob_start(), буферизация может быть запущена механизмом сессий например. Ещё на многих хостингах апач стоит в связке с nginx, а в последнем принудительно может быть включено gzip сжатие, которое так же буферизирует вывод. Так что метод вантуза может не сработать на хостинге ![]() |
Именно так ребята. php сразу и пытается начать отдать все что там налепил. Автору темы не понимаю что нужно от этого.
Спустя 1 день, 12 часов, 25 минут, 26 секунд (31.07.2011 - 12:50) sayp написал(а):
Спасибо всем, я вроде бы как разобрался. Вот
<?phpВ мозилле скрипт работает как надо (выводит информацию по ходу работы скрипта). А в хроме почему-то не пашет, но не суть...
ob_implicit_flush ();
for ($i=1;$i<=10;$i++) {
echo $i;
sleep(1);
}
?>
Спустя 1 час, 33 минуты, 45 секунд (31.07.2011 - 14:23) killer8080 написал(а):
Цитата (sayp @ 31.07.2011 - 12:50) |
А в хроме почему-то не пашет, но не суть... |
а суть так и ушла в песок
![rolleyes.gif](http://phpforum.ru/html/emoticons/rolleyes.gif)