PHP 5.6.0 released

headers_list

(PHP 5)

headers_listReturns a list of response headers sent (or ready to send)

Description

array headers_list ( void )

headers_list() will return a list of headers to be sent to the browser / client. To determine whether or not these headers have been sent yet, use headers_sent().

Return Values

Returns a numerically indexed array of headers.

Examples

Example #1 Examples using headers_list()

<?php

/* setcookie() will add a response header on its own */
setcookie('foo''bar');

/* Define a custom response header
   This will be ignored by most clients */
header("X-Sample-Test: foo");

/* Specify plain text content in our response */
header('Content-type: text/plain');

/* What headers are going to be sent? */
var_dump(headers_list());

?>

The above example will output:

array(4) {
  [0]=>
  string(23) "X-Powered-By: PHP/5.1.3"
  [1]=>
  string(19) "Set-Cookie: foo=bar"
  [2]=>
  string(18) "X-Sample-Test: foo"
  [3]=>
  string(24) "Content-type: text/plain"
}

Notes

Note:

Headers will only be accessible and output when a SAPI that supports them is in use.

See Also

add a note add a note

User Contributed Notes 2 notes

up
7
Anonymous
1 year ago
note that it does not return the status header

<?php

header
('HTTP/1.1 301 Moved Permanently', true, 301);

header('foo: bar');
header('a: b');
header('colon less example');

print_r(headers_list());
?>

Array
(
    [0] => X-Powered-By: PHP/5.4.7
    [1] => foo: bar
    [2] => a: b
)
up
0
SOLO2
2 years ago
Function to check if a particular header has been added to the list:

<?php

function header_sent($header) {
   
$headers = headers_list();
   
$header = trim($header,': ');
   
$result = false;

    foreach (
$headers as $hdr) {
        if (
stripos($hdr, $header) !== false) {
           
$result = true;
        }
    }

    return
$result;
}

?>
To Top