apache_response_headers

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

apache_response_headersПолучает список HTTP-заголовков ответа

Описание

apache_response_headers(): array

Функция получает список HTTP-заголовков ответа. Функция работает на веб-серверах Apache, FastCGI, CLI и FPM.

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

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

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

В случае успешного выполнения функция возвращает массив с HTTP-заголовками ответа веб-сервера Apache.

Примеры

Пример #1 Пример получения списка HTTP-заголовков ответа функцией apache_response_headers()

<?php

print_r
(apache_response_headers());

?>

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

Array
(
    [Accept-Ranges] => bytes
    [X-Powered-By] => PHP/4.3.8
)

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

  • apache_request_headers() - Получает список заголовков HTTP-запроса
  • headers_sent() - Проверяет, были ли отправлены заголовки
  • headers_list() - Возвращает список переданных заголовков (или готовых к отправке)

Добавить

Примечания пользователей 6 notes

up
3
orange
19 years ago
If apache_response_headers() returns an empty array, try calling flush() before and it'll get filled.
up
2
Isaac Z dot Schlueter i at foohack dot com
16 years ago
This function doesn't exist on lighttpd, so I wrote this little function to emulate it:<?phpif (!function_exists('apache_response_headers')) {    function apache_response_headers () {        $arh = array();        $headers = headers_list();        foreach ($headers as $header) {            $header = explode(":", $header);            $arh[array_shift($header)] = trim(implode(":", $header));        }        return $arh;    }}?>
up
-1
php at mailplus dot pl
14 years ago
I get  "Call to undefined function apache_response_headers()" when using php-cli so be aware of lack of this function CLI.In my case I was trying to test my app via phpunit (command line tool of course ;)) if it sends proper headers.
up
-1
Daniel Lorch
18 years ago
Addendum: The code<pre><?php  print_r(apache_request_headers());?></pre>gives me Array (    [X-Powered-By] => PHP/5.1.6 )But the code<pre><?php  ob_end_flush();  print_r(apache_request_headers());?></pre>Results in Array (    [Content-Location] => phpinfo.de.php    [Vary] => negotiate    [TCN] => choice    [X-Powered-By] => PHP/5.1.6    [Keep-Alive] => timeout=15, max=96    [Connection] => Keep-Alive    [Transfer-Encoding] => chunked    [Content-Type] => text/html    [Content-Language] => de )
up
-2
athlet
19 years ago
For apache_response_headers() working good, you need to set  up output_buffering = Off in php.ini
up
-2
Daniel Lorch
18 years ago
I can confirm athlet's experience with apache_response_headers() using PHP 5.1.6. When the resulting array is empty or only contains "X-Powered-By" instead of the full list of values, you'll need to switch off output_buffering _before_ the script has been executed, for example with the following directive in .htaccess:php_value "output_buffering" "0"it _doesn't_ work when you do a you ini_set('output_buffering', 0); in your script. Not sure why that is so - it is not a bug in PHP, but probably has to do with how Apache populates the request values.
To Top