php中file_get_content 和curl以及fopen 效率分析


Posted in PHP onSeptember 19, 2014

三个函数虽然都是读取资源的函数,但各自的应用场景不同。

curl多用于互联网网页之间的抓取,fopen多用于读取文件,而file_get_contents多用于获取静态页面的内容。

1. fopen /file_get_contents 每次请求都会重新做DNS查询,并不对DNS信息进行缓存。但是CURL会自动对DNS信息进行缓存。对同一域名下的网页或者图片的请求只需要一次DNS查询。这大大减少了DNS查询的次数。所以CURL的性能比fopen /file_get_contents 好很多。

2. fopen /file_get_contents在请求HTTP时,使用的是http_fopen_wrapper,不会keeplive。而curl却可以。这样在多次请求多个链接时,curl效率会好一些。

3. curl可以模拟多种请求,例如:POST数据,表单提交等,用户可以按照自己的需求来定制请求。而fopen / file_get_contents只能使用get方式获取数据。

PHP 相关文章推荐
php代码优化及php相关问题总结
Oct 09 PHP
杏林同学录(一)
Oct 09 PHP
php中serialize序列化与json性能测试的示例分析
Apr 27 PHP
记录mysql性能查询过程的使用方法
May 02 PHP
PHP类继承 extends使用介绍
Jan 14 PHP
php分页函数完整实例代码
Sep 22 PHP
php图片的二进制转换实现方法
Dec 15 PHP
php发送短信验证码完成注册功能
Nov 24 PHP
PHP动态地创建属性和方法, 对象的复制, 对象的比较,加载指定的文件,自动加载类文件,命名空间
May 06 PHP
thinkPHP模板算术运算相关函数用法分析
Jul 12 PHP
详解EventDispatcher事件分发组件
Dec 25 PHP
如何优雅的使用 laravel 的 validator验证方法
Nov 11 PHP
PHP return语句另类用法不止是在函数中
Sep 17 #PHP
php使用$_POST或$_SESSION[]向js函数传参
Sep 16 #PHP
PHP正则表达式替换站点关键字链接后空白的解决方法
Sep 16 #PHP
一个php生成16位随机数的代码(两种方法)
Sep 16 #PHP
php数组中删除元素之重新索引的方法
Sep 16 #PHP
异步加载技术实现当滚动条到最底部的瀑布流效果
Sep 16 #PHP
PHP+iFrame实现页面无需刷新的异步文件上传
Sep 16 #PHP
You might like
PHP4实际应用经验篇(9)
2006/10/09 PHP
实用函数2
2007/11/08 PHP
PHP 第二节 数据类型之数组
2012/04/28 PHP
CodeIgniter框架提示Disallowed Key Characters的解决办法
2014/04/21 PHP
PHP通过加锁实现并发情况下抢码功能
2016/08/10 PHP
PHP实现生成模糊图片的方法示例
2017/12/21 PHP
PHP多进程简单实例小结
2019/11/09 PHP
JavaScript中的排序算法代码
2011/02/22 Javascript
javascript 模拟坦克大战游戏(html5版)附源码下载
2014/04/08 Javascript
网页实时显示服务器时间和javscript自运行时钟
2014/06/09 Javascript
详解JavaScript中的构造器Constructor模式
2016/01/14 Javascript
JS函数定义方式的区别介绍
2016/03/22 Javascript
基于vuejs+webpack的日期选择插件
2020/05/21 Javascript
最好用的Bootstrap fileinput.js文件上传组件
2016/12/12 Javascript
Express之get,pos请求参数的获取
2017/05/02 Javascript
Node.js 使用jade模板引擎的示例
2018/05/11 Javascript
Vue-CLI3.x 设置反向代理的方法
2018/12/06 Javascript
JavaScript实现shuffle数组洗牌操作示例
2019/01/03 Javascript
轻松学习JavaScript函数中的 Rest 参数
2019/05/30 Javascript
关于layui 下拉列表的change事件详解
2019/09/20 Javascript
利用Vue的v-for和v-bind实现列表颜色切换
2020/07/17 Javascript
详解js创建对象的几种方式和对象方法
2021/03/01 Javascript
[02:31]《DAC最前线》之选手酒店现场花絮
2015/01/30 DOTA
Python类的基础入门知识
2008/11/24 Python
八大排序算法的Python实现
2021/01/28 Python
详解python调度框架APScheduler使用
2017/03/28 Python
Python基于numpy灵活定义神经网络结构的方法
2017/08/19 Python
利用pyecharts实现地图可视化的例子
2019/08/12 Python
Jupyter打开图形界面并画出正弦函数图像实例
2020/04/24 Python
Keras-多输入多输出实例(多任务)
2020/06/22 Python
基于Python的自媒体小助手---登录页面的实现代码
2020/06/29 Python
Lookfantastic德国官网:英国知名美妆购物网站
2017/06/11 全球购物
拉斯维加斯酒店、演出、旅游、俱乐部及更多:Vegas.com
2019/02/28 全球购物
波兰电子产品购物网站:Vobis
2019/05/26 全球购物
拉丁舞学习者的自我评价
2013/10/27 职场文书
实习生的自我鉴定范文欣赏
2013/11/20 职场文书