小白求助:
使用 stream_context_create 方法设置 file_get_contents 函数超时的时候:
<?php
$ctx = stream_context_create(array(
'http' => array(
'timeout' => 1 // 超时
)
)
);
$i = microTime();
$size = file_get_contents("http://****{图*片*地*址}******.jpg",0,$ctx);
$e = microTime() - $i;
echo $e;
// 获得微秒时间戳
function microTime()
{
list($usec, $sec) = explode(" ",microtime());
return ((float)$usec + (float)$sec);
}
?>
发现 当 timeout 设置为 1 时,只有当访问时长 $e 超过2s时才会报错:
Warning: file_get_contents(********): failed to open stream: HTTP request failed! in /usr/home/*******/test.php
同理 当 timeout 设置为 2 时,访问时长 $e 的值可能为 2.4s、2.6s等(小于3s,超过3s时报错)。
请问:
1、 如何设置 file_get_contents() 函数的超时时间?
2、以上描述的问题是什么情况?
3、能否设置 file_get_contents() 函数的毫秒级超时,如果能,如何实现?
木有人知道吗?
不懂 帮忙顶下
没人回答啊