我想大多数人都知道 PHP 中臭名昭著的“Headers already sent”错误。我能否检查是否已经发送了头信息?
在尝试设置某些 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;
}
header()
后面加上 exit()
! - nalply可以使用 headers_sent 函数。
检查是否已发送头信息以及发送的位置。
一旦头信息块被发送,就无法再使用 header() 函数添加更多的头行。使用此函数,您至少可以防止获取与HTTP头相关的错误消息。另一种选择是使用输出缓冲。
还可能会对您有所帮助的是headers_list,它返回所有已发送的头信息的数组。