(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
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。
示例 #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;
}
}
?>
注意:
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.