比file_get_contents稳定的curl_get_contents分享


Posted in PHP onJanuary 11, 2012

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

/*比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://3water.com');

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

另外,据不完全测试,使用curl获取页面比用file_get_contents稳定的多。
PHP 相关文章推荐
php adodb分页实现代码
Mar 19 PHP
php实现在线生成条形码示例分享(条形码生成器)
Dec 30 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(十一)
Jun 25 PHP
Yii使用CLinkPager分页实例详解
Jul 23 PHP
Zend Framework分页类用法详解
Mar 22 PHP
php反射类ReflectionClass用法分析
May 12 PHP
微信支付开发发货通知实例
Jul 12 PHP
Laravel多用户认证系统示例详解
Mar 13 PHP
php面试实现反射注入的详细方法
Sep 30 PHP
解决laravel-admin 自己新建页面里 js 需要刷新一次的问题
Oct 03 PHP
phpinfo的知识点总结
Oct 10 PHP
php实现统计IP数及在线人数的示例代码
Jul 22 PHP
学习使用curl采集curl使用方法
Jan 11 #PHP
PHP 日,周,月点击排行统计
Jan 11 #PHP
php删除页面记录 同时刷新页面 删除条件用GET方式获得
Jan 10 #PHP
PHP求小于1000的所有水仙花数的代码
Jan 10 #PHP
php 带逗号千位符数字的处理方法
Jan 10 #PHP
php mysql 判断update之后是否更新了的方法
Jan 10 #PHP
用PHP实现小写金额转换大写金额的代码(精确到分)
Jan 10 #PHP
You might like
判断是否为指定长度内字符串的php函数
2010/02/16 PHP
解析PHP中如何将数组变量写入文件
2013/06/06 PHP
php实现session共享的实例方法
2019/09/19 PHP
Laravel6.18.19如何优雅的切换发件账户
2020/06/14 PHP
NodeJS 模块开发及发布详解分享
2012/03/07 NodeJs
JavaScript实现网页图片等比例缩放实现代码及调用方式
2013/02/25 Javascript
javascript表单验证使用示例(javascript验证邮箱)
2014/01/07 Javascript
分享20款美化网站的 jQuery Lightbox 灯箱插件
2014/10/10 Javascript
Javascript中innerHTML用法实例分析
2015/01/12 Javascript
js实现精美的银灰色竖排折叠菜单
2015/05/16 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
javascript实现别踩白块儿小游戏程序
2015/11/22 Javascript
快速学习jQuery插件 jquery.validate.js表单验证插件使用方法
2015/12/01 Javascript
Vue中自定义全局组件的实现方法
2017/12/08 Javascript
JS把字符串格式的时间转换成几秒前、几分钟前、几小时前、几天前等格式
2019/07/10 Javascript
JS面向对象编程基础篇(三) 继承操作实例详解
2020/03/03 Javascript
为python设置socket代理的方法
2015/01/14 Python
Python 登录网站详解及实例
2017/04/11 Python
对python数据切割归并算法的实例讲解
2018/12/12 Python
python石头剪刀布小游戏(三局两胜制)
2021/01/20 Python
Python&&GDAL实现NDVI的计算方式
2020/01/09 Python
python使用pandas抽样训练数据中某个类别实例
2020/02/28 Python
美国女士时尚珠宝及配饰购物网站:Icing
2018/07/02 全球购物
模具专业毕业生自荐书范文
2014/02/19 职场文书
《金色的脚印》教后反思
2014/04/23 职场文书
学校学雷锋活动总结
2014/06/26 职场文书
教师党员个人整改措施材料
2014/09/16 职场文书
镇政府副镇长群众路线专题民主生活会对照检查材料
2014/09/19 职场文书
毕业生见习报告总结
2014/11/08 职场文书
2014年办公室人员工作总结
2014/12/09 职场文书
个人先进事迹材料范文
2014/12/29 职场文书
高中教师个人工作总结
2015/02/10 职场文书
2015国庆节66周年演讲稿
2015/03/20 职场文书
行政司机岗位职责
2015/04/10 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
python爬取某网站原图作为壁纸
2021/06/02 Python