@rkfddf

Как в php немедленно выводить данные?

Если в php запустить такой код
<?php 
for ($i = 0; $i< 3; $i++)
{
    echo $i. '<br>';
    sleep(1);
}

то результат выведется после окончания всего скрипта, то есть числа 0, 1, 2 выведутся одновременно через три секунды, то есть после выполнения всех итераций.
Если такой же код написать в python, то выведется 0, через секунду выведется 1 и так далее.
Есть ли в php возможность выполнять программы в стиле питона, что бы не дожидаться выполнения всего скрипта?
  • Вопрос задан
  • 230 просмотров
Решения вопроса 1
rozhnev
@rozhnev Куратор тега PHP
Fullstack programmer, DBA, медленно, дорого
Функции контроля вывода

<?php
header( 'Content-type: text/html; charset=utf-8' );
echo 'Begin ...<br />';
for( $i = 0 ; $i < 10 ; $i++ )
{
    echo $i . '<br />';
    flush();
    ob_flush();
    sleep(1);
}
echo 'End ...<br />';
?>
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Vitsliputsli
То что вы хотите не нужно делать через http, либо используйте web-socket, либо полностью перетащите этот функционал на фронт. Http предназначен для получения данных, а не отправки команд-сигналов с сервера. Манипуляции с ajax или переполнением буфера - также будут извращением.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы