stream_set_timeout
(PHP 4 >= 4.3.0, PHP 5, PHP 7)
stream_set_timeout — Set timeout period on a stream
说明
$stream
,
int $seconds
[,
int $microseconds
= 0 ] ) :
bool
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.
参数
-
stream
-
The target stream.
-
seconds
-
The seconds part of the timeout to be set.
-
microseconds
-
The microseconds part of the timeout to be set.
返回值
成功时返回 TRUE
, 或者在失败时返回 FALSE
。
范例
Example #1 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;
}
}
?>
注释
Note:
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.
参见
- fsockopen() - 打开一个网络连接或者一个Unix套接字连接
- fopen() - 打开文件或者 URL