PHP HEADERS_SENT会怎样影响输出

avatar
作者
猴君
阅读量:0

在 PHP 中,如果已经发送了 HTTP 头部(headers),那么你将不能再向客户端输出任何内容

当使用 headers_sent() 函数检查是否已经发送了头部时,它会返回一个布尔值。如果返回 true,则表示已经发送了头部;如果返回 false,则表示尚未发送头部。

例如:

<?php // 输出一些内容 echo "Hello, World!";  // 检查是否已经发送了头部 if (headers_sent()) {     // 如果已经发送了头部,则输出错误信息     echo "Headers already sent in " . __FILE__ . " on line " . __LINE__ . "."; } else {     // 如果尚未发送头部,则可以安全地设置新的头部     header("Content-Type: text/html; charset=utf-8"); } ?> 

在这个例子中,尝试输出 “Hello, World!” 之后,headers_sent() 函数会检测到已经发送了头部,因此会输出错误信息 “Headers already sent in…”。如果将 echo 语句注释掉,那么 headers_sent() 函数将返回 false,你可以安全地设置新的头部。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!