stream_set_timeout

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

stream_set_timeoutУстановить значение тайм-аута для потока

Описание

stream_set_timeout ( resource $stream , int $seconds , int $microseconds = 0 ) : bool

Устанавливает значение тайм-аута в потоке stream, равное сумме параметров seconds и microseconds.

Когда время работы потока истекает, ключ 'timed_out' массива, возвращаемого функцией stream_get_meta_data(), устанавливается в значение true, хотя ошибка или предупреждение не генерируется.

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

stream

Целевой поток.

seconds

Секунды в устанавливаемом тайм-ауте.

microseconds

Микросекунды в устанавливаемом тайм-ауте.

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

Возвращает true в случае успешного завершения или false в случае возникновения ошибки.

Примеры

Пример #1 Пример использования stream_set_timeout()

<?php
$fp 
fsockopen("www.example.com"80);
if (!
$fp) {
    echo 
"Невозможно открыть сокет\n";
} else {

    
fwrite($fp"GET / HTTP/1.0\r\n\r\n");
    
stream_set_timeout($fp2);
    
$res fread($fp2000);

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

    if (
$info['timed_out']) {
        echo 
'Истекло время соединения!';
    } else {
        echo 
$res;
    }

}
?>

Примечания

Замечание:

Эта функция не работает с продвинутыми операциями, такими, как stream_socket_recvfrom(). Используйте вместо неё stream_select() с параметром тайм-аута

Эта функция раньше вызывалась через set_socket_timeout() и позднее через socket_set_timeout(), но это использование устарело.

Смотрите также

  • fsockopen() - Открывает соединение с интернет-сокетом или доменным сокетом Unix
  • fopen() - Открывает файл или URL