1. get_headers() timeout超时处理
$urls = array(
'http://www.php-php.com/',
'http://www.163.com/',
'http://php.xlxz.org.la/'
);
function xlxzUrl($url) {
// 避免请求超时超过了PHP的执行时间
$executeTime = ini_get('max_execution_time');
2. get_headers() timeout 超时处理
使用 stream_context_set_default() 函数 ( >php5.3 )
stream_context_set_default(array(
'http' => array(
'timeout' => 1 //设置一个超时时间,timeout单位为秒
)
)
);
$headers = @get_headers( 'no.xlxz.org' );
3. file_get_contents() timeout 超时处理
$stream = stream_context_create(array(
'http' => array(
'timeout' => 1 //设置一个超时时间,timeout单位为秒
)
)
);
file_get_contents("http://xlxz.org/", 0, $strem);
4. get_headers() timeout 超时处理使用CURL来达到相同功能
function get_headers_curl($url, $time = 15 )
{
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_TIMEOUT, $time );
curl_setopt($ch, CURLOPT_NOBODY, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$xlxz = curl_exec($ch);
curl_close( $ch );
$xlxz = explode( "\n", $xlxz );
return $xlxz;
}