PHP 7.2.0 Beta 3 Released

headers_list

(PHP 5, PHP 7)

headers_listRetorna uma lista de cabeçalhos enviados para o servidor (ou pronto para enviar)

Descrição

array headers_list ( void )

headers_list() Irá retornar uma lista de cabeçalhos a serem enviados para o navegador / cliente. Para determinar se esses cabeçalhos têm ou ainda não foram enviados, use headers_sent().

Valor Retornado

Retorna um array indexado de cabeçalhos.

Exemplos

Exemplo #1 Exemplos usando headers_list()

<?php

/* setcookie() Irá adicionar um cabeçalho de resposta por conta própria */
setcookie('foo''bar');

/* Define um cabeçalho de resposta personalizado
   Isso será ignorado pela maioria dos clientes */
header("X-Sample-Test: foo");

/* Específica o conteúdo de texto simples em nossa resposta */
header('Content-type: text/plain');

/* Quais cabeçalhos serão enviados? */
var_dump(headers_list());

?>

O exemplo acima irá imprimir:

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

Notas

Nota:

Headers só serão acessíveis e retornados quando a SAPI que os suporta estiver em uso.

Veja Também

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
6 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