PHP | headers_sent()函数
headers_sent()函数是PHP的内置函数,用于判断 header 是否成功发送。如果标头发送成功,headers_sent()函数返回 True,否则返回 False。
句法:
bool headers_sent( $file, $line )
参数:该函数接受上面提到的两个参数,如下所述:
- $file:此参数保存文件名。它是一个可选参数。
- $line:此参数保存输出开始的行号。它也是可选参数。
如果设置了文件和行参数,headers_sent()函数会将PHP源文件名和行号放在文件和行变量中输出开始的位置。
返回值:如果头已发送,此函数返回 True,否则返回 false。
示例 1:
PHP
PHP
hello world
PHP
hello world
PHP
\r\n";
}
}
redirect_rel("server.php");
?>
输出:
在这个例子中,之前没有发送头,所以 !headers_sent() 将是 TRUE,然后 header("Location:https://en.wikipedia.org/wiki/Main_Page");将发送标头信息,并根据标头重定向到参数中的网站。
注意:一旦发送了标题块,就不能添加标题。所以这个函数已经实现以避免错误。
Warning: Cannot modify header information - headers already sent by
(output started at /storage/ssd3/798/438108/public_html/gfg/header.php:1)
in /storage/ssd3/798/438108/public_html/gfg/header.php on line 4
示例 2:
PHP
hello world
注意:此处显示的示例不会在在线 IDE 中运行,因为它不支持重定向和修改标头。因此,尝试在托管服务器或本地主机上运行它。
输出:
hello world
警告:
Warning: Cannot modify header information - headers already sent by
(output started at /storage/ssd3/798/438108/public_html/gfg/header.php:4)
in /storage/ssd3/798/438108/public_html/gfg/header.php on line 9
警告:无法修改标头信息 - 标头已由
(开始在/存储输出/ SSD3 /438108分之798/的public_html / GFG /报头的PHP)
在 /storage/ssd3/798/438108/public_html/gfg/header 中。第 10 行的PHP
这个错误可以通过使用 headers_sent()函数来解决。
例3:解决上述错误后。
PHP
hello world
输出:
hello world
解释:
headers_sent()函数检查头是否已经发送。所以 !headers_sent() 返回 false 不会再次发送标头,从而避免错误。
注意:此处显示的示例不会在在线 IDE 中运行,因为它不支持重定向和修改标头。所以,尝试在一些托管服务器或本地主机上。
示例 4:
PHP
\r\n";
}
}
redirect_rel("server.php");
?>
输出:
参考文献:http:// PHP.NET /手动/ EN /函数.headers发送。 PHP