首页 > 解决方案 > 执行 ob_get_clean 后不清除标头

问题描述

我有一个 php 文件,如下所示:

<?php
ob_start();


header("Location:http://google.com");
echo "hello world";

die(ob_get_clean());

?>

我希望在我的浏览器上看到 hello world,但它会重定向到 google。ob_get_clean 应该清除包括标题在内的输出,对吧?结果应该是 die("hello world"); 那么为什么会这样呢?

标签: php

解决方案


header("Location:http://google.com");

这意味着页面在缓冲区启动时被重定向到 google.com。缓冲区用于存储输出数据,但在这种情况下页面被重定向到其他站点。所以代码的位置不正确。


推荐阅读