加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

比file_get_contents稳定的curl_get_contents分享

发布时间:2020-12-13 06:03:17 所属栏目:PHP教程 来源:网络整理
导读:分享一个实际在用的函数: div class="codetitle" a style="CURSOR: pointer" data="72390" class="copybut" id="copybut72390" onclick="doCopy('code72390')" 代码如下: div class="codebody" id="code72390" / 比file_get_contents稳定的多!$timeout为超

分享一个实际在用的函数:
<div class="codetitle"><a style="CURSOR: pointer" data="72390" class="copybut" id="copybut72390" onclick="doCopy('code72390')"> 代码如下:<div class="codebody" id="code72390">
/比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.52php.cn');

相信使用过file_get_contents函数的朋友都知道,当获取的$url访问不了时,会导致页面漫长的等待,甚至还能导致PHP进程占用CPU达100%,因此这个函数就诞生了。curl的一些常识介绍
保留原file_get_contents函数的原因是当读取本地文件时,用原生的file_get_contents显然更合适。
另来自张宴的file_get_contnets的优化,具体可看://www.52php.cn/article/28030.htm
同样是设置超时时间来解决这个问题。如果没装curl,就必须得用这个方式了。
<div class="codetitle"><a style="CURSOR: pointer" data="64104" class="copybut" id="copybut64104" onclick="doCopy('code64104')"> 代码如下:<div class="codebody" id="code64104">
$ctx = stream_context_create(array(
'http' => array(
'timeout' => 1 //设置一个超时时间,单位为秒
)
)
);
file_get_contents("//www.52php.cn/",$ctx);

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读