PHP Doku:: Liefert alle HTTP-Responseheader - function.apache-response-headers.html

Verlauf / Chronik / History: (1) anzeigen

Sie sind hier:
Doku-StartseitePHP-HandbuchFunktionsreferenzServerspezifische ErweiterungenApacheApache Funktionenapache_response_headers

Ein Service von Reinhard Neidl - Webprogrammierung.

Apache Funktionen




(PHP 4 >= 4.3.0, PHP 5)

apache_response_headersLiefert alle HTTP-Responseheader


array apache_response_headers ( void )

Liefert alle HTTP-Responseheader.


Ein Array aller Apache-Responseheader im Erfolgsfall. Im Fehlerfall wird FALSE zurückgegeben.


Beispiel #1 apache_response_headers()-Beispiel


Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

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



Ab PHP 4.3.3 können Sie diese Funktion auch mit dem NSAPI-Server-Modul für Netscape/iPlanet/SunONE-Webserver nutzen.

Siehe auch

6 BenutzerBeiträge:
- Beiträge aktualisieren...
Craig Harris
29.06.2010 19:04
Be aware that apache_response_headers() does not include all headers, notably the content-type is missing as are any headers which apache will add after the php process completes.

This is a very misleading function, but it does at least have a better output structure than the more complete headers_list() function
Isaac Z dot Schlueter i at foohack dot com
28.05.2009 17:57
This function doesn't exist on lighttpd, so I wrote this little function to emulate it:


if (!function_exists('apache_response_headers')) {
apache_response_headers () {
$arh = array();
$headers = headers_list();
        foreach (
$headers as $header) {
$header = explode(":", $header);
$arh[array_shift($header)] = trim(implode(":", $header));

Daniel Lorch
24.05.2007 18:53
Addendum: The code


gives me

    [X-Powered-By] => PHP/5.1.6

But the code

Results in

    [Content-Location] =>
    [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
Daniel Lorch
24.05.2007 18:46
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.
1.02.2006 18:37
For apache_response_headers() working good, you need to set  up output_buffering = Off in php.ini
5.09.2005 17:17
If apache_response_headers() returns an empty array, try calling flush() before and it'll get filled.

PHP Powered Diese Seite bei
The PHP manual text and comments are covered by the Creative Commons Attribution 3.0 License © the PHP Documentation Group - Impressum - mail("TO:Reinhard Neidl",...)