stream_set_timeout
在流上设置超时时间
PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8
stream_set_timeout 函数用于设置流的超时限制。该函数通常用于对网络流、文件流等设置读写超时。超时的设置包括读取和写入操作的最大等待时间。
stream_set_timeout(resource $stream, int $seconds, int $microseconds = 0): bool
成功时返回 true,失败时返回 false。
下面是一个使用 stream_set_timeout 函数的示例,设置对一个网络流的超时限制:
$stream = fsockopen("www.example.com", 80, $errno, $errstr, 10); if (!$stream) { echo "连接失败: $errstr ($errno)<br />"; } else { // 设置超时为 5 秒 stream_set_timeout($stream, 5); // 检查超时设置是否成功 $timeout = stream_get_meta_data($stream); echo "超时设置成功, 连接超时: " . ($timeout['timed_out'] ? "是" : "否"); fclose($stream); }
在这个示例中,我们首先使用 fsockopen() 函数连接到 "www.example.com" 网站。成功连接后,使用 stream_set_timeout 设置连接的超时为 5 秒。然后通过 stream_get_meta_data 检查流的超时设置是否生效。最后,关闭连接。