Я написал PHP-скрипт, который отправляет запрос в поисковую систему, получает доступ к полученным результатам, извлекает некоторые детали из результатов, а затем выводит их в более удобной форме.
Все это работает хорошо, но я случайно обнаружил, что вызов echo или print во время ожидания потоковой передачи данных может также привести к потоковой передаче вывода. В частности, есть несколько страниц результатов, поэтому я получаю доступ к первой странице, читаю и повторно печатаю содержимое, затем перехожу к следующей странице, и, ожидая загрузки этой следующей страницы, содержимое предыдущей страницы становится видимым в браузер.
Чего я не понимаю, так это почему это происходит так непоследовательно. Иногда перед переходом на следующую страницу будет напечатана ровно одна страница, иногда меньше, а иногда и больше. Затем, когда я делаю в основном то же самое впоследствии (читаю на странице, на которую указывает каждый результат), вывод почти не передается в потоковом режиме, перерисовываясь каждую минуту или около того.
Я использую file_get_contents($url)
для извлечения содержимого и вызываю функцию с echo
для печати того, что уже было загружено. Является ли такое поведение потоковой печати функцией браузера и не зависит от того, что я пишу на PHP? Если нет, то как его лучше контролировать?