SunshinePHP Developer Conference 2015

headers_list

(PHP 5)

headers_listRetourne la liste des en-têtes de réponse du script courant

Description

array headers_list ( void )

headers_list() retourne un tableau avec la liste des en-têtes qui seront transmis au navigateur. Pour déterminer si ces en-têtes ont déjà été envoyés ou pas, utilisez la fonction headers_sent().

Valeurs de retour

Retourne un tableau d'en-têtes indexé numériquement.

Exemples

Exemple #1 Exemple avec headers_list()

<?php

/* setcookie() va ajouter un en-tête */
setcookie('foo''bar');

/* Définit un en-tête de réponse
Il sera ignoré par la majorité des navigateurs */
header("X-Sample-Test: foo");

/* Spécification de la réponse en texte simple */
header('Content-type: text/plain');

/* Quels sont les en-têtes qui vont être envoyés ? */
var_dump(headers_list());

?>

L'exemple ci-dessus va afficher :

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:

Les en-têtes ne seront accessibles et s'afficheront que lorsqu'un SAPI qui les supportent sera utilisé.

Voir aussi

add a note add a note

User Contributed Notes 2 notes

up
7
Anonymous
2 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
0
SOLO2
2 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