CakeFest 2017 NYC, the Official CakePHP Conference

headers_list

(PHP 5, PHP 7)

headers_listDevuelve una lista de encabezados de respuesta enviados (o listos para enviar)

Descripción

array headers_list ( void )

headers_list() devolverá una lista de encabezados a ser enviados al navegador / cliente. Para determinar si se han enviado o no estos encabezados, use headers_sent().

Valores devueltos

Devuelve un array indexado numéricamente de encabezados.

Ejemplos

Ejemplo #1 Ejemplos usando headers_list()

<?php

/* setcookie() agrega una cabecera de respuesta propia */
setcookie('foo''bar');

/* Definir un encabezado de respuesta personalizado
   Este será ignorado por la mayoría de los clientes */
header("X-Sample-Test: foo");

/* Especificar el contenido de texto plano en nuestra respuesta */
header('Content-type: text/plain');

/* ¿Qué encabezados se van a enviar? */
var_dump(headers_list());

?>

El resultado del ejemplo sería:

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:

Las cabeceras sólo serán accesibles y mostradas si se utiliza un SAPI que lo soporte.

Ver también

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
4 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
0
arnold at jasny dot net
26 days 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