如何检查标头是否已在 PHP 中发送
我想我们大多数人都知道PHP中臭名昭着的“标头已发送”错误。我可以以某种方式检查标头是否已发送吗?
在全力以赴地尝试设置一些SESSION数据或类似数据之前,这样做会非常方便。
谢谢!
我想我们大多数人都知道PHP中臭名昭着的“标头已发送”错误。我可以以某种方式检查标头是否已发送吗?
在全力以赴地尝试设置一些SESSION数据或类似数据之前,这样做会非常方便。
谢谢!
PHP有一个函数headers_sent(),
它允许您在采取任何操作之前检查标头是否已发送出去。下面介绍如何在代码中使用该函数:
if(headers_sent())
{ //if headers already sent out print some message.
echo "Please go to yahoo.com";
}
else{
//send the user automatically to test.php
header('Location: http://yahoo.com');
exit;
}
是的,您可以使用headers_sent功能。
检查标头是否已发送或已发送到何处。
一旦发送了 header 块,就不能再使用 header() 函数添加任何标头行。使用此函数,您至少可以防止获取与 HTTP 标头相关的错误消息。另一种选择是使用输出缓冲。
headers_list也可能与此相关,它返回已发送的所有标头的数组。