Title is self-explanatory.
I have a good bit of experience with PHP, but I am not sure how the header
function works between ob_start()
and ob_end_clean()
.
Consider this:
ob_start();
echo "Some content";
header('X-Example-Header: foo');
echo "Some more content";
$output = ob_get_contents();
ob_end_clean();
echo $output;
Does the header
function ignore the output buffering, and thus all headers get sent before the content because it is echo
ed after the header
call?
Or does it work some other way?
The header()
does indeed ignore output buffering. Part of the reason to use output buffering is so you can send HTTP headers "out of order" since the response is buffered. You can't send HTTP headers once you've sent any kind of output (unless that output is buffered).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With