如何检查是否已在PHP中发送标头

如何检查是否已在PHP中发送标头,php,header,Php,Header,我想我们大多数人都知道PHP中臭名昭著的“Headers ready sent”错误。是否可以检查邮件头是否已经发送 在尝试设置一些会话数据或类似数据之前,这样做真的很方便 谢谢 是的,您可以使用该功能 检查标题是否已被删除或在何处被删除 发送 不能再添加任何标题行 使用header()函数 标题块已发送。 使用此功能,您至少可以 防止与HTTP头相关 错误消息。另一个选择是 使用输出缓冲 也可能很有趣,它返回所有发送的头的数组。PHP有一个函数,允许您在采取任何操作之前检查头是否已发送。以下是

我想我们大多数人都知道PHP中臭名昭著的“Headers ready sent”错误。是否可以检查邮件头是否已经发送

在尝试设置一些会话数据或类似数据之前,这样做真的很方便

谢谢

是的,您可以使用该功能

检查标题是否已被删除或在何处被删除 发送

不能再添加任何标题行 使用header()函数 标题块已发送。 使用此功能,您至少可以 防止与HTTP头相关 错误消息。另一个选择是 使用输出缓冲

也可能很有趣,它返回所有发送的头的数组。

PHP有一个函数,允许您在采取任何操作之前检查头是否已发送。以下是如何在代码中使用函数:

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;
}

为什么不在调用这些函数之前确保不发送任何头文件?@Dominic Rodger:如果这个脚本是一个附加组件或扩展,或者任何其他类型的扩展/包含脚本呢?第三方代码可能会影响邮件头是否已发送。请不要忘记在
header()之后退出
exit()