首页›HTTP 响应›flush 最终输出
flush 最终输出
完整输出链路:清缓冲 → 发头 → 输出 → 钩子 → 退出
本页内容
- 执行步骤
- 注意事项
执行步骤
| # | 步骤 | 说明 |
|---|---|---|
| 1 | 清缓冲区 | while(ob_get_level()) ob_end_clean() |
| 2 | 发头 | headers_sent() 为 false 时 sendHeader() |
| 3 | 输出 | echo $this->stream; flush(); |
| 4 | 忽略用户断开 | ignore_user_abort(true) |
| 5 | 取消时间限制 | set_time_limit(0) |
| 6 | 触发钩子 | $this->__trigger("flushAfter") |
| 7 | 退出 | exit(0) |
代码要点
public function flush(){
while (ob_get_level()) ob_end_clean();
if(!headers_sent()){
$this->sendHeader();
}
echo $this->stream;
flush();
ignore_user_abort(true);
set_time_limit(0);
$this->__trigger("flushAfter");
exit(0);
}注意事项
flush() 会 exit(0) 终止脚本!此后代码不会执行。需要在输出后继续处理的逻辑应挂在 flushAfter 钩子上。
KuoqiPHP v1.05 · 离线静态文档 · 界面基于 KuoqiUI ·
返回首页