📜  PHP | headers_sent()函数

📅  最后修改于: 2022-05-13 01:57:40.182000             🧑  作者: Mango

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