(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.