PHP 8.1.28 Released!

headers_list

(PHP 5, PHP 7, PHP 8)

headers_listВозвращает список переданных заголовков (или готовых к отправке)

Описание

headers_list(): array

Функция headers_list() возвращает список заголовков, передаваемых браузеру / клиенту. Для того, чтобы определить переданы ли уже заголовки, используйте функцию headers_sent().

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает нумерованный массив заголовков.

Примеры

Пример #1 Пример использования headers_list()

<?php

/* Функция setcookie() добавит заголовок сама по себе */
setcookie('foo', 'bar');

/* Определение пользовательского заголовка
Это будет проигнорировано большинством клиентов */
header("Example-Test: foo");

/* Передача простого текстового контента */
header('Content-Type: text/plain; charset=UTF-8');

/* Какие заголовки будут отправлены? */
var_dump(headers_list());

?>

Вывод приведённого примера будет похож на:

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

Примечания

Замечание:

Доступ к заголовкам и их вывод будет осуществляться только в случае, если в используемом вами SAPI есть их поддержка.

Смотрите также

  • headers_sent() - Проверяет, были ли отправлены заголовки
  • header() - Отправляет необработанный (сырой) HTTP-заголовок
  • setcookie() - Отправляет cookie
  • apache_response_headers() - Возвращает список всех HTTP-заголовков ответа Apache
  • http_response_code() - Получает или устанавливает код ответа HTTP

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