PHP: http_parse_headers - Manual

downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

http_parse_message http_parse_cookie

Last updated: Sat, 27 Jan 2007

view this page in

# http_parse_headers

(PECL)

http_parse_headers -- Parse HTTP headers

## Описание

array http_parse_headers ( string header )

Parses HTTP headers into an associative array.

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

`header`

  String containing HTTP headers

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

Returns an array on success, or FALSE on failure.

## Примеры

Пример 1. Using http_parse_headers()

`<?php
$headers = "content-type: text/html; charset=UTF-8\r\n".
"Server: Funky/1.0\r\n".
"Set-Cookie: foo=bar\r\n".
"Set-Cookie: baz=quux\r\n".
"Folded: works\r\n\ttoo\r\n";
print_r(http_parse_headers($headers));
?>`

Результат выполнения данного примера:

    Array
    (
      [Content-Type] => text/html; chatset=UTF-8
      [Server] => Funky/1.0
      [Set-Cookie] => Array
      (
        [0] => foo=bar
        [1] => baz=quux
      )
      [Folded] => works
        too
    )

add a note User Contributed Notes
http_parse_headers
luigi dot sexpistols at gmail dot com
07-Aug-2006 10:49
`If you don't have access to the PECL library, you can use this code to parse headers contained in strings.
Note that it's probably not as robust as the PECL version, as it only parses if the headers are separated by newlines (\n). This isn't a problem in most cases, though, as the standard suggests to use \r\n as the delimiter for headers.
HTTP response code is put into 'status'.
Any suggestions welcome!
<?
function http_parse_headers($headers=false){
if($headers === false){
return false;
}
$headers = str_replace("\r","",$headers);
$headers = explode("\n",$headers);
foreach($headers as $value){
$header = explode(": ",$value);
if($header[0] && !$header[1]){
$headerdata['status'] = $header[0];
}
elseif($header[0] && $header[1]){
$headerdata[$header[0]] = $header[1];
}
}
return $headerdata;
}
$headers = "HTTP/1.1 200 OK\r\n
Date: Tue, 08 Aug 2006 05:32:01 GMT\r\n
X-Powered-By: PHP/4.4.3-dev\r\n
Data 1: Value for Data 1\r\n
Data 2: Value for Data 2\r\n
Connection: close\r\n
Content-Type: text/html\r\n";
http_parse_headers($headers);
// OUTPUT:
array(7) {
["status"]=>
string(15) "HTTP/1.1 200 OK"
["Date"]=>
string(29) "Tue, 08 Aug 2006 05:32:01 GMT"
["X-Powered-By"]=>
string(13) "PHP/4.4.3-dev"
["Data 1"]=>
string(16) "Value for Data 1"
["Data 2"]=>
string(16) "Value for Data 2"
["Connection"]=>
string(5) "close"
["Content-Type"]=>
string(9) "text/html"
}
?>`
add a note
http_parse_message http_parse_cookie

Last updated: Sat, 27 Jan 2007
show source | credits | stats | sitemap | contact | advertising | mirror sites
Copyright © 2001-2007 The PHP Group
All rights reserved.
This mirror generously provided by: Yahoo! Inc.
Last updated: Sat Mar 10 09:32:46 2007 PST