get_headers

Fetches all the headers sent by the server in response to an HTTP request

Description

arrayfalse get_headers(string $url, bool $associative = false, resourcenull $context = null)

get_headers returns an array with the headers sent by the server in response to a HTTP request.

Parameters

url

The target URL.

associative

If the optional associative parameter is set to true, get_headers parses the response and sets the array's keys.

context

A valid context resource created with stream_context_create, or null to use the default context.

Return Values

Returns an indexed or associative array with the headers, or false on failure.

Changelog

Version Description
8.0.0 The associative has been changed from int to bool.
7.1.0 The context parameter was added.

Examples

Example #1 get_headers example

<?php
$url = 'http://www.example.com';

print_r(get_headers($url));

print_r(get_headers($url, true));
?>

The above example will output something similar to:

Array
(
    [0] => HTTP/1.1 200 OK
    [1] => Date: Sat, 29 May 2004 12:28:13 GMT
    [2] => Server: Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [3] => Last-Modified: Wed, 08 Jan 2003 23:11:55 GMT
    [4] => ETag: "3f80f-1b6-3e1cb03b"
    [5] => Accept-Ranges: bytes
    [6] => Content-Length: 438
    [7] => Connection: close
    [8] => Content-Type: text/html
)

Array
(
    [0] => HTTP/1.1 200 OK
    [Date] => Sat, 29 May 2004 12:28:14 GMT
    [Server] => Apache/1.3.27 (Unix)  (Red-Hat/Linux)
    [Last-Modified] => Wed, 08 Jan 2003 23:11:55 GMT
    [ETag] => "3f80f-1b6-3e1cb03b"
    [Accept-Ranges] => bytes
    [Content-Length] => 438
    [Connection] => close
    [Content-Type] => text/html
)

Example #2 get_headers using HEAD example

<?php
// By default get_headers uses a GET request to fetch the headers. If you
// want to send a HEAD request instead, you can do so using a stream context:
$context = stream_context_create(
    [
        'http' => array(
            'method' => 'HEAD'
        )
    ]
);
$headers = get_headers('http://example.com', false, $context);
?>

See Also

  • apache_request_headers