Как заголовки работают с буферизацией вывода в PHP?
Название не требует пояснений.
У меня есть хороший опыт работы с PHP, но я не уверен, как функция header
работает между ob_start()
и ob_end_clean()
.
Подумайте об этом:
ob_start();
echo "Some content";
header('X-Example-Header: foo');
echo "Some more content";
$output = ob_get_contents();
ob_end_clean();
echo $output;
Игнорирует ли функция header
буферизацию вывода, и, следовательно, все заголовки отправляются до содержимого, потому что оно echo
редактируется после вызова header
?
Или это работает каким-то другим способом?
11
Author: Austin Hyde, 2010-06-24
1 answers
header()
действительно игнорирует буферизацию вывода. Одна из причин использования буферизации вывода заключается в том, что вы можете отправлять HTTP-заголовки "не по порядку", поскольку ответ буферизован. Вы не можете отправлять HTTP-заголовки после отправки какого-либо вывода (если только этот вывод не буферизован).
15
Author: cletus, 2010-06-24 15:03:16