stream_set_timeout
(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
stream_set_timeout — Устанавливает значение времени ожидания для потока
Описание
Когда время работы потока истекает, ключ 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($fp, 2);
$res = fread($fp, 2000);
$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-адрес