headers_list

(PHP 5, PHP 7, PHP 8)

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

Descrizione

headers_list(): array

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().

Elenco dei parametri

Questa funzione non contiene parametri.

Valori restituiti

Returns a numerically indexed array of headers.

Esempi

Example #1 Example 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("Example-Test: foo");

/* Specify plain text content in our response */
header('Content-Type: text/plain; charset=UTF-8');

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

?>

Il precedente esempio visualizzerà qualcosa simile a:

array(3) {
  [0]=>
  string(19) "Set-Cookie: foo=bar"
  [1]=>
  string(17) "Example-Test: foo"
  [2]=>
  string(39) "Content-Type: text/plain; charset=UTF-8"
}

Note

Nota:

Gli header sono accessibili (e emessi nell'output) quando è in uso un SAPI che li supporta.

Vedere anche:

add a note add a note

User Contributed Notes 3 notes

up
20
Anonymous
11 years 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
10
arnold at jasny dot net
7 years ago
This function won't work for when you're running PHP from the command line. If will always return an empty array. This can be an issue when testing your project using PHPUnit or Codeception.

To solve this, install the xdebug extension and use `xdebug_get_headers` when on the cli.

<?php
$headers
= php_sapi_name() === 'cli' ? xdebug_get_headers() : headers_list();
?>
up
-2
SOLO2
11 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