我读到了有关服务器发送事件的信息:https://developer.mozilla.org/en-US/docs/Web/API/Server-sent_events/Using_server-sent_events他们在PHP中给出了一个发送事件的例子。我已经知道标头指令必须是脚本中的第一条指令。但是我需要在发送事件之前进行一些预处理:
//Do some preprocessing in order the determine whether to send an event or not
if ($sendevent) {
header("Content-Type: text/event-stream\n\n");
// echo the data
}
显然这是不可能的,因为"标题"不是第一条指令。如何解决这个问题呢?只能通过从客户端发送请求来触发发送事件吗?
答案 0 :(得分:0)
The documentation for the header()
function says:
请记住,在发送任何实际输出之前必须调用header()。
这意味着您可以包含任意数量的指令,但在调用header()
之前,您的脚本不得输出任何内容。
您的if
没有输出任何内容,所以没关系。
注意不要在PHP开始标记之前有空格字符。