У меня есть некоторый код, который выполняет следующие действия:PHP: Что происходит после окончания буферизации вывода
<?php
ob_flush();
ob_start();
echo $something;
ob_end_flush();
echo $another_thing;
?>
Я могу видеть $something
но не $another_thing;
Согласно ручному ob_end_flush() просто отключает буферизацию вывода , так что если это так, почему я не могу видеть $another_thing;
точно так же, как если бы я написал без буферизации вывода:
<?php
echo $something;
echo $another_thing;
?>
Хотя я не видел причин, почему это должно сработать, я решил попробовать позвонить flush()
и ob_flush()
после echo $another_thing;
, но это тоже не помогло.
Каков правильный способ сделать это, и почему это не работает?
Thanks
работает для меня http://phpfiddle.org/main/code/06s-kmj, может быть, $ another_thing пуст или непечатаем? – Orangepill
Спасибо - см. Мой ответ ниже, получается, что буферизация вывода не имеет к этому никакого отношения. – ec2011