headers_list

(PHP 5, PHP 7, PHP 8)

headers_listRetorna uma lista de cabeçalhos de resposta enviados (ou prontos para enviar)

Descrição

headers_list(): array

headers_list() retornará uma lista de cabeçalhos a serem enviados ao navegador / cliente. Para determinar se esses cabeçalhos já foram ou não enviados, use headers_sent().

Parâmetros

Esta função não possui parâmetros.

Valor Retornado

Retorna um array de cabeçalhos indexado numericamente.

Exemplos

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

/* Especifica conteúdo em texto simples na resposta */
header('Content-Type: text/plain; charset=UTF-8');

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

?>

O exemplo acima produzirá algo semelhante 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"
}

Notas

Nota:

Os cabeçalhos só serão acessíveis e enviados quando uma SAPI que os suporta estiver em uso.

Veja Também

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