headers_list
(PHP 5)
headers_list — Возвращает список переданных (или готовых к передаче) заголовков
Описание
array headers_list
( void
)
Функция headers_list() возвращает список заголовков, передаваемых браузеру / клиенту. Для точго чтобы определить были ли переданы уже переданы заголовки воспользуйтесь функцией headers_sent().
Возвращаемые значения
Возвращает нумерованный массив заголовков.
Примеры
Пример #1 Пример использования headers_list()
<?php
/* Функция setcookie() добавит заголовок сама по себе */
setcookie('foo', 'bar');
/* Определение пользовательского заголовка
Это будет проигнорировано большинством клиентов */
header("X-Sample-Test: foo");
/* Передача простого текстового контента */
header('Content-type: text/plain');
/* Какие загловки готовы к отправке? */
var_dump(headers_list());
?>
Результат выполнения данного примера:
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" }
Примечания
Замечание:
Доступ к заголовкам и их вывод будет осуществляться только в случае, если в используемом вами SAPI есть их поддержка.
Смотрите также
- headers_sent() - Проверяет были ли и куда отправлены заголовки
- header() - Отправка HTTP заголовка
- setcookie() - Посылает cookie
- apache_response_headers() - Возвращает список всех HTTP заголовков ответа Apache
- http_response_code() - Получает или устанавливает код ответа HTTP
- checkdnsrr
- closelog
- define_syslog_variables
- dns_check_record
- dns_get_mx
- dns_get_record
- fsockopen
- gethostbyaddr
- gethostbyname
- gethostbynamel
- gethostname
- getmxrr
- getprotobyname
- getprotobynumber
- getservbyname
- getservbyport
- header_register_callback
- header_remove
- header
- headers_list
- headers_sent
- http_response_code
- inet_ntop
- inet_pton
- ip2long
- long2ip
- openlog
- pfsockopen
- setcookie
- setrawcookie
- socket_get_status
- socket_set_blocking
- socket_set_timeout
- syslog
Коментарии
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();
?>