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
)
headers_list
(PHP 5)
headers_list — Returns 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
- headers_sent() - Checks if or where headers have been sent
- header() - Send a raw HTTP header
- setcookie() - Send a cookie
- apache_response_headers() - Fetch all HTTP response headers
- http_response_code() - Get or Set the HTTP response code
Anonymous ¶
6 months ago
SOLO2 ¶
9 months 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;
}
?>
