stream_set_timeout

Set timeout period on a stream

&reftitle.description; `bool` `stream_set_timeout` `resource` `stream` `int` `seconds` `int` `microseconds` 0

Sets the timeout value on `stream`, expressed in the sum of `seconds` and `microseconds`.

When the stream times out, the 'timed_out' key of the array returned by `stream_get_meta_data` is set to &true;, although no error/warning is generated.

&reftitle.parameters;

`stream`

- The target stream.

`seconds`

- The seconds part of the timeout to be set.

`microseconds`

- The microseconds part of the timeout to be set.

&reftitle.returnvalues;

&return.success;

&reftitle.examples;

### `stream_set_timeout` example

    <?php
    $fp = fsockopen("www.example.com", 80);
    if (!$fp) {
        echo "Unable to open\n";
    } else {

        fwrite($fp, "GET / HTTP/1.0\r\n\r\n");
        stream_set_timeout($fp, 2);
        $res = fread($fp, 2000);

        $info = stream_get_meta_data($fp);
        fclose($fp);

        if ($info['timed_out']) {
            echo 'Connection timed out!';
        } else {
            echo $res;
        }

    }
    ?>

&reftitle.notes;

This function doesn't work with advanced operations like `stream_socket_recvfrom`, use `stream_select` with timeout parameter instead.

This function was previously called as `set_socket_timeout` and later `socket_set_timeout` but this usage is deprecated.

&reftitle.seealso;

- `fsockopen`
- `fopen`