PHP 8.3.4 Released!

headers_list

(PHP 5, PHP 7, PHP 8)

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

Descripción

headers_list(): array

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

User Contributed Notes 3 notes

up
22
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
22
Anonymous
11 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
-13
SOLO2
11 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