headers_list

(PHP 5, PHP 7, PHP 8)

headers_list Liefert eine Liste der gesendeten (oder zum Senden vorbereiteten) Antwort-Header

Beschreibung

headers_list(): array

headers_list() gibt ein Array der Header zurück, die zum Browser/Client gesendet werden. Um festzustellen, ob diese Header bereits gesendet worden sind, kann headers_sent() verwendet werden.

Parameter-Liste

Diese Funktion besitzt keine Parameter.

Rückgabewerte

Gibt ein numerisch indeziertes Array der Header zurück.

Beispiele

Beispiel #1 Beispiel zur Verwendung von headers_list()

<?php

/* setcookie() fügt für sich einen eigenen Antwort-Header ein */
setcookie('foo', 'bar');

/* Einen eigenen Antwort-Header definieren
Dieser wird von den meisten Clients ignoriert */
header("Beispiel-Test: foo");

/* Den Typ des Textinhalts unserer Antwort angeben */
header('Content-Type: text/plain; charset=UTF-8');

/* Welche Header wurden gesendet? */
var_dump(headers_list());

?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

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

Anmerkungen

Hinweis:

Header sind nur dann zugänglich und werden nur dann gesendet, wenn die genutzte SAPI sie unterstützt.

Siehe auch

add a note add a note

User Contributed Notes 3 notes

up
19
Anonymous
12 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
9
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
0
SOLO2
12 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