我正在使用 file_get_contents
函数来获取外部页面的报头(header),以确定该外部页面是否在线,代码如下:
$URL = "http://page.location/";
$Context = stream_context_create(array(
'http' => array(
'method' => 'GET',
)
));
file_get_contents($URL, false, $Context);
$ResponseHeaders = $http_response_header;
$header = substr($ResponseHeaders[0], 9, 3);
if($header[0] == "5" || $header[0] == "4"){
//do stuff
}
当页面响应时间过长时,这个方法表现良好。
我该如何设置超时时间?
如果file_get_headers
没有完成请求,它会返回FALSE吗?如果file_get_contents
请求还没有完成,PHP会继续执行下一行代码吗?