get_headers

(PHP 5, PHP 7, PHP 8)

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

Description

get_headers(string $url, bool $associative = false, resource $context = null): array|false

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().

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($urltrue));
?>

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:
stream_context_set_default(
    array(
        
'http' => array(
            
'method' => 'HEAD'
        
)
    )
);
$headers get_headers('http://example.com');
?>

See Also