(PHP 5, PHP 7, PHP 8)
headers_list — Возвращает список переданных заголовков (или готовых к отправке)
Функция 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"
}
Замечание: Заголовки доступны и выводятся, только если PHP работает через SAPI-интерфейс с поддержкой заголовков.
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
)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();
?>