You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

To set timeout in get_headers(), you will need to set stream_context_set_default(), so  you can optimize communication cost as you designed.Below is an example to call get_headers() based on stream_context in the system.

<?php

$url = 'https://upload.wikimedia.org/wikipedia/commons/thumb/2/27/PHP-logo.svg/100px-PHP-logo.svg.png';

// Store previous default context
$prev = stream_context_get_options(stream_context_get_default());

// Set a small timeout
stream_context_set_default([
    'http' => [
        'timeout' => 3, // seconds
    ]
]);

// Do the head request
$req = @get_headers($url, true);

if (!empty($req)) {
    // Do some useful stuff here
    print_r($req);
}

// Restore previous default context
stream_context_set_default($prev);

?>


  • No labels