headers_list

(PHP 5, PHP 7)

headers_listGibt eine Liste der gesendeten (oder zum Senden vorbereiteten) Response Header zurück

Beschreibung

array headers_list ( void )

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

Rückgabewerte

Gibt ein numerisch indeziertes Array der Header zurück.

Beispiele

Beispiel #1 Beispiele zur Verwendung von headers_list()

<?php

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

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

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

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

?>

Das oben gezeigte Beispiel erzeugt folgende Ausgabe:

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"
}

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
14
Anonymous
4 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
2
SOLO2
5 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;
}

?>
up
1
arnold at jasny dot net
7 months 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();
?>
To Top