
- PHP - Home
- PHP - Roadmap
- PHP - Introduction
- PHP - Installation
- PHP - History
- PHP - Features
- PHP - Syntax
- PHP - Hello World
- PHP - Comments
- PHP - Variables
- PHP - Echo/Print
- PHP - var_dump
- PHP - $ and $$ Variables
- PHP - Constants
- PHP - Magic Constants
- PHP - Data Types
- PHP - Type Casting
- PHP - Type Juggling
- PHP - Strings
- PHP - Boolean
- PHP - Integers
- PHP - Files & I/O
- PHP - Maths Functions
- PHP - Heredoc & Nowdoc
- PHP - Compound Types
- PHP - File Include
- PHP - Date & Time
- PHP - Scalar Type Declarations
- PHP - Return Type Declarations
- PHP - Operators
- PHP - Arithmetic Operators
- PHP - Comparison Operators
- PHP - Logical Operators
- PHP - Assignment Operators
- PHP - String Operators
- PHP - Array Operators
- PHP - Conditional Operators
- PHP - Spread Operator
- PHP - Null Coalescing Operator
- PHP - Spaceship Operator
- PHP Control Statements
- PHP - Decision Making
- PHP - If…Else Statement
- PHP - Switch Statement
- PHP - Loop Types
- PHP - For Loop
- PHP - Foreach Loop
- PHP - While Loop
- PHP - Do…While Loop
- PHP - Break Statement
- PHP - Continue Statement
- PHP Arrays
- PHP - Arrays
- PHP - Indexed Array
- PHP - Associative Array
- PHP - Multidimensional Array
- PHP - Array Functions
- PHP - Constant Arrays
- PHP Functions
- PHP - Functions
- PHP - Function Parameters
- PHP - Call by value
- PHP - Call by Reference
- PHP - Default Arguments
- PHP - Named Arguments
- PHP - Variable Arguments
- PHP - Returning Values
- PHP - Passing Functions
- PHP - Recursive Functions
- PHP - Type Hints
- PHP - Variable Scope
- PHP - Strict Typing
- PHP - Anonymous Functions
- PHP - Arrow Functions
- PHP - Variable Functions
- PHP - Local Variables
- PHP - Global Variables
- PHP Superglobals
- PHP - Superglobals
- PHP - $GLOBALS
- PHP - $_SERVER
- PHP - $_REQUEST
- PHP - $_POST
- PHP - $_GET
- PHP - $_FILES
- PHP - $_ENV
- PHP - $_COOKIE
- PHP - $_SESSION
- PHP File Handling
- PHP - File Handling
- PHP - Open File
- PHP - Read File
- PHP - Write File
- PHP - File Existence
- PHP - Download File
- PHP - Copy File
- PHP - Append File
- PHP - Delete File
- PHP - Handle CSV File
- PHP - File Permissions
- PHP - Create Directory
- PHP - Listing Files
- Object Oriented PHP
- PHP - Object Oriented Programming
- PHP - Classes and Objects
- PHP - Constructor and Destructor
- PHP - Access Modifiers
- PHP - Inheritance
- PHP - Class Constants
- PHP - Abstract Classes
- PHP - Interfaces
- PHP - Traits
- PHP - Static Methods
- PHP - Static Properties
- PHP - Namespaces
- PHP - Object Iteration
- PHP - Encapsulation
- PHP - Final Keyword
- PHP - Overloading
- PHP - Cloning Objects
- PHP - Anonymous Classes
- PHP Web Development
- PHP - Web Concepts
- PHP - Form Handling
- PHP - Form Validation
- PHP - Form Email/URL
- PHP - Complete Form
- PHP - File Inclusion
- PHP - GET & POST
- PHP - File Uploading
- PHP - Cookies
- PHP - Sessions
- PHP - Session Options
- PHP - Sending Emails
- PHP - Sanitize Input
- PHP - Post-Redirect-Get (PRG)
- PHP - Flash Messages
- PHP AJAX
- PHP - AJAX Introduction
- PHP - AJAX Search
- PHP - AJAX XML Parser
- PHP - AJAX Auto Complete Search
- PHP - AJAX RSS Feed Example
- PHP XML
- PHP - XML Introduction
- PHP - Simple XML Parser
- PHP - SAX Parser Example
- PHP - DOM Parser Example
- PHP Login Example
- PHP - Login Example
- PHP - Facebook Login
- PHP - Paypal Integration
- PHP - MySQL Login
- PHP Advanced
- PHP - MySQL
- PHP.INI File Configuration
- PHP - Array Destructuring
- PHP - Coding Standard
- PHP - Regular Expression
- PHP - Error Handling
- PHP - Try…Catch
- PHP - Bugs Debugging
- PHP - For C Developers
- PHP - For PERL Developers
- PHP - Frameworks
- PHP - Core PHP vs Frame Works
- PHP - Design Patterns
- PHP - Filters
- PHP - JSON
- PHP - Exceptions
- PHP - Special Types
- PHP - Hashing
- PHP - Encryption
- PHP - is_null() Function
- PHP - System Calls
- PHP - HTTP Authentication
- PHP - Swapping Variables
- PHP - Closure::call()
- PHP - Filtered unserialize()
- PHP - IntlChar
- PHP - CSPRNG
- PHP - Expectations
- PHP - Use Statement
- PHP - Integer Division
- PHP - Deprecated Features
- PHP - Removed Extensions & SAPIs
- PHP - PEAR
- PHP - CSRF
- PHP - FastCGI Process
- PHP - PDO Extension
- PHP - Built-In Functions
PHP Network headers_sent() Function
The PHP Network headers_sent() function is used to check if HTTP headers have already been sent. The headers are the initial component of the response sent to the browser. Once headers have been communicated, the header() function cannot be used to add new headers.
This function helps to avoid issues by confirming that headers are sent. You may also use it to find the file name and line number where the output started. It returns false if no headers are sent, true otherwise. This is useful for debugging and works well with output buffers. It supports PHP 4, 5, 7, and 8.
Syntax
Below is the syntax of the PHP Network headers_sent() function −
bool headers_sent ( string &$filename, int &$line )
Parameters
Here are the parameters of the headers_sent() function −
$filename − (Required) It is used to store the name of the PHP file where the headers were sent.
$line − (Optional) It is the line number where the output started.
Return Value
The headers_sent() function will return FALSE if no HTTP headers have been sent and TRUE otherwise.
PHP Version
First introduced in core PHP 4, the headers_sent() function continues to function easily in PHP 5, PHP 7, and PHP 8.
Example 1
This program simply checks if headers were sent and prints a message. It shows the most simple implementation of the PHP Network headers_sent() function.
<?php // Check if headers are sent if (headers_sent()) { echo "Headers have already been sent!"; } else { echo "Headers are not sent yet."; } ?>
Output
Here is the outcome of the following code −
Headers are not sent yet.
Example 2
In the below PHP code we will use the headers_sent() function and try to send a header after checking if headers are already sent for avoiding errors.
<?php // Check before sending headers if (!headers_sent()) { header("Content-Type: text/plain"); echo "Header sent successfully."; } else { echo "Cannot send headers, they are already sent!"; } ?>
Output
This will generate the below output −
Header sent successfully.
Example 3
Now the below code detects the file and line where headers were sent. So this program basically uses the optional parameters of headers_sent() to identify where output started.
<?php // Output some text echo "Hello, world!"; // Check where headers were sent if (headers_sent($file, $line)) { echo "Headers were sent in file $file on line $line."; } else { echo "Headers are not sent yet."; } ?>
Output
This will create the below output −
Hello, world!Headers were sent in file /Users/abc
Example 4
In this program we are using output buffering to control header transmission and use headers_sent() function. So it uses output buffering to prevent accidental header transmission and shows how to control when headers are sent.
<?php // Start output buffering ob_start(); // Output some text echo "This is buffered output."; // Check if headers are sent if (!headers_sent()) { header("Content-Type: text/plain"); echo " Header sent with buffering."; } // End buffering and send output ob_end_flush(); ?>
Output
Following is the output of the above code −
This is buffered output. Header sent with buffering.