(PHP 5)
headers_list — Returns a list of response headers sent (or ready to send)
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().
Returns a numerically indexed array of headers.
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());
?>
以上例程会输出:
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" }
Note:
数据头只会在SAPI支持时得到处理和输出。
Anonymous (2012-10-11 12:50:41)
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
)
SOLO2 (2012-07-13 16:00:02)
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;
}
?>