比file_get_contents稳定的curl_get_contents分享

 更新时间:2012年01月11日 21:47:21   作者:  
相信使用过file_get_contents函数的朋友都知道,当获取的$url访问不了时,会导致页面漫长的等待,甚至还能导致PHP进程占用CPU达100%,因此这个函数就诞生了
分享一个实际在用的函数:
复制代码 代码如下:

/*比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('https://www.jb51.net');

相信使用过file_get_contents函数的朋友都知道,当获取的$url访问不了时,会导致页面漫长的等待,甚至还能导致PHP进程占用CPU达100%,因此这个函数就诞生了。curl的一些常识介绍
保留原file_get_contents函数的原因是当读取本地文件时,用原生的file_get_contents显然更合适。
另来自张宴的file_get_contnets的优化,具体可看:https://www.jb51.net/article/28030.htm
同样是设置超时时间来解决这个问题。如果没装curl,就必须得用这个方式了。
复制代码 代码如下:

$ctx = stream_context_create(array(
'http' => array(
'timeout' => 1 //设置一个超时时间,单位为秒
)
)
);
file_get_contents("https://www.jb51.net/", 0, $ctx);

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

相关文章

  • PHP中获取文件扩展名的N种方法小结

    PHP中获取文件扩展名的N种方法小结

    PHP中获取文件扩展名的N种方法 从网上收罗的,基本上就以下这几种方式
    2012-02-02
  • PHP实现防盗链的方法分析

    PHP实现防盗链的方法分析

    这篇文章主要介绍了PHP实现防盗链的方法,结合实例形式分析了php防盗链所涉及的相关技术与具体实现技巧,需要的朋友可以参考下
    2017-07-07
  • php fsockopen伪造post与get方法的详解

    php fsockopen伪造post与get方法的详解

    本篇文章是对php中fsockopen伪造post与get的方法进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php+ajax实现商品对比功能示例

    php+ajax实现商品对比功能示例

    这篇文章主要介绍了php+ajax实现商品对比功能,涉及PHP基于ajax的数据提交及序列化、变量等运算相关操作技巧,需要的朋友可以参考下
    2019-04-04
  • PHP中strcmp()和strcasecmp()函数字符串比较用法分析

    PHP中strcmp()和strcasecmp()函数字符串比较用法分析

    这篇文章主要介绍了PHP中strcmp()和strcasecmp()函数字符串比较用法,结合实例形式较为详细的分析了strcmp()和strcasecmp()函数字的功能,使用方法与区别,需要的朋友可以参考下
    2016-01-01
  • 详解PHP神奇又有用的Trait

    详解PHP神奇又有用的Trait

    这篇文章主要介绍了PHP神奇又有用的Trait,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • 浅析PKI加密解密 OpenSSL

    浅析PKI加密解密 OpenSSL

    本篇文章是对PKI加密解密 OpenSSL进行了介绍,需要的朋友参考下
    2013-07-07
  • PHP开发实现快递查询功能详解

    PHP开发实现快递查询功能详解

    这篇文章主要介绍了PHP开发实现快递查询功能,结合实例形式分析了php使用快递鸟查询接口进行快递查询的相关实现步骤与操作技巧,需要的朋友可以参考下
    2019-04-04
  • PHP基于phpqrcode类生成二维码的方法详解

    PHP基于phpqrcode类生成二维码的方法详解

    这篇文章主要介绍了PHP基于phpqrcode类生成二维码的方法,结合实例形式详细分析了phpqrcode类的具体功能、使用方法及相关操作注意事项,需要的朋友可以参考下
    2018-03-03
  • PHP查找数值数组中不重复最大和最小的10个数的方法

    PHP查找数值数组中不重复最大和最小的10个数的方法

    这篇文章主要介绍了PHP查找数值数组中不重复最大和最小的10个数的方法,涉及php中array_unique与array_slice方法的使用技巧,非常具有实用价值,需要的朋友可以参考下
    2015-04-04

最新评论