我使用相同的php脚本进行包括和 ajax 加载。它是一些随机目录项,它们加载了页面,可以加载ajax。只有在通过ajax加载时才需要使用header()
函数。
当我使用标题功能并且输出已经开始时,我得到关于它的php警告。 php如何知道输出已经开始了?确定它的最佳方法是什么,而不是调用标题函数?
感谢。
答案 0 :(得分:13)
http://php.net/manual/en/function.headers-sent.php
// If no headers are sent, send one
if (!headers_sent()) {
header('...');
exit;
}
答案 1 :(得分:4)
有一个简单的内置功能:
if (!headers_sent()) {
header('Your header here');
}
添加更多内容:)
答案 2 :(得分:2)
一种选择是在ob_start()
开头调用{{1}}。这样你就可以随时发送标题。
答案 3 :(得分:2)
headers_sent()
会返回true
。
答案 4 :(得分:0)
如果您向客户发送了任何内容,则输出已开始。
例如,即使是单个html标记,它也已输出。
您可以构建应用程序,以便不会发生这种情况, 或者你可以打开输出缓冲:
答案 5 :(得分:0)
在代码启动前删除空行并添加exit; 输出结束后。