服务器之家

服务器之家 > 正文

比file_get_contents稳定的curl_get_contents分享

时间:2019-12-21 15:22     来源/作者:PHP教程网

分享一个实际在用的函数: 

复制代码代码如下:


/*比file_get_contents稳定的多!$timeout为超时时间,单位是秒,默认为1s。*/ 
function curl_get_contents($url,$timeout=1) { 
$curlHandle = curl_init(); 
curl_setopt( $curlHandle , CURLOPT_URL, $url ); 
curl_setopt( $curlHandle , CURLOPT_RETURNTRANSFER, 1 ); 
curl_setopt( $curlHandle , CURLOPT_TIMEOUT, $timeout ); 
$result = curl_exec( $curlHandle ); 
curl_close( $curlHandle ); 
return $result; 

$hx = curl_get_contents('//www.zzvips.com'); 


相信使用过file_get_contents函数的朋友都知道,当获取的$url访问不了时,会导致页面漫长的等待,甚至还能导致PHP进程占用CPU达100%,因此这个函数就诞生了
保留原file_get_contents函数的原因是当读取本地文件时,用原生的file_get_contents显然更合适。 

同样是设置超时时间来解决这个问题。如果没装curl,就必须得用这个方式了。 

复制代码代码如下:


$ctx = stream_context_create(array( 
'http' => array( 
'timeout' => 1 //设置一个超时时间,单位为秒 


); 
file_get_contents("//www.zzvips.com/", 0, $ctx); 


另外,据不完全测试,使用curl获取页面比用file_get_contents稳定的多。

相关文章

热门资讯

玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分
玄元剑仙肉身有什么用 玄元剑仙肉身境界等级划分 2019-06-21
男生常说24816是什么意思?女生说13579是什么意思?
男生常说24816是什么意思?女生说13579是什么意思? 2019-09-17
配置IIS网站web服务器的安全策略配置解决方案
配置IIS网站web服务器的安全策略配置解决方案 2019-05-23
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情
华为nova5pro和p30pro哪个好 华为nova5pro和华为p30pro对比详情 2019-06-22
Nginx服务器究竟是怎么执行PHP项目
Nginx服务器究竟是怎么执行PHP项目 2019-05-24
返回顶部