Open In App

PHP | headers_sent() function

Last Updated : 07 Aug, 2021
Comments
Improve
Suggest changes
Like Article
Like
Report

The headers_sent() function is an inbuilt function in PHP which is used to determines whether the header is successfully sent or not. The headers_sent() function returns True if header sent successfully and False otherwise.

Syntax: 

bool headers_sent( $file, $line )

Parameters: This function accepts two parameters as mentioned above and described below:  

  • $file: This parameter holds the filename. It is an optional parameter.
  • $line: This parameter holds the line number where output started. It is also optional parameter.

The headers_sent() function will put the PHP source file name and line number where output started in the file and line variables if the file and line parameters are set.

Return Value: This function returns True if headers has been sent and false otherwise.

Example 1:  

Output: 


In this example, no header is sent previously so !headers_sent() will be TRUE and then header("Location:https://en.wikipedia.org/wiki/Main_Page"); will send the header information and as per the header it will redirect to the website that is in parameter.

Note: Header cannot be add once header block has been sent. So this function has implemented to avoid errors like. 

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

Example 2:  

Note: The example shown here will not run in online IDE as it doesn't support redirecting and modifying headers. So, try to run it on hosting server or on localhost. 

Output: 

hello world

Warning:  

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

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 10
This error can be solved by using headers_sent() function. 

Example 3: After resolving the above error.  

Output:

hello world
 


Explanation: 
headers_sent() function checking whether header has already been sent or not. so !headers_sent() returns false for which header are not being sent again, avoiding the errors. 

NOTE: The example shown here will not run in online IDE as it doesn't support redirecting and modifying headers. So, try in some hosting server or on localhost.

Example 4:  

Output: 

Reference: http://php.net/manual/en/function.headers-sent.php
 


Next Article

Similar Reads