阅读量: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
,你可以安全地设置新的头部。