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 相关文章推荐
生成缩略图
Oct 09 PHP
通达OA公共代码 php常用检测函数
Dec 14 PHP
PHP中如何定义和使用常量
Feb 28 PHP
ThinkPHP多表联合查询的常用方法
Mar 24 PHP
PHP反向代理类代码
Aug 15 PHP
php使用GD创建保持宽高比缩略图的方法
Apr 17 PHP
Symfony2实现在controller中获取url的方法
Mar 18 PHP
Ajax提交表单时验证码自动验证 php后端验证码检测
Jul 20 PHP
php判断str字符串是否是xml格式数据的方法示例
Jul 26 PHP
Mac系统下安装PHP Xdebug
Mar 30 PHP
PHP基于session.upload_progress 实现文件上传进度显示功能详解
Aug 09 PHP
Laravel框架实现定时Task Scheduling例子
Oct 22 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
FleaPHP的安全设置方法
2008/09/15 PHP
PHP lcfirst()函数定义与用法
2019/03/08 PHP
PHP使用PDO创建MySQL数据库、表及插入多条数据操作示例
2019/05/30 PHP
PHP+Apache实现二级域名之间共享cookie的方法
2019/07/24 PHP
Laravel5.5 视图 - 创建视图和数据传递示例
2019/10/21 PHP
比较全面的event对像在IE与FF中的区别 推荐
2009/09/21 Javascript
js实现class样式的修改、添加及删除的方法
2015/01/20 Javascript
基于jQuery实现左右图片轮播(原理通用)
2015/12/24 Javascript
微信小程序-拍照或选择图片并上传文件
2017/01/06 Javascript
浅析bootstrap原理及优缺点
2017/03/19 Javascript
一次围绕setTimeout的前端面试经验分享
2017/06/15 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
angular的输入和输出的使用方法
2018/09/22 Javascript
js根据json数据中的某一个属性来给数据分组的方法
2018/10/08 Javascript
element-ui带输入建议的input框踩坑(输入建议空白以及会闪出上一次的输入建议问题)
2019/01/15 Javascript
Vue.js递归组件实现组织架构树和选人功能
2019/07/04 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
python实现的各种排序算法代码
2013/03/04 Python
使用cx_freeze把python打包exe示例
2014/01/24 Python
PYTHON 中使用 GLOBAL引发的一系列问题
2016/10/12 Python
python opencv 实现读取、显示、写入图像的方法
2020/06/08 Python
Python基于数列实现购物车程序过程详解
2020/06/09 Python
python利用google翻译方法实例(翻译字幕文件)
2020/09/21 Python
html5 touch事件实现触屏页面上下滑动(二)
2016/03/10 HTML / CSS
html5 实现客户端验证上传文件的大小(简单实例)
2016/05/15 HTML / CSS
HTML5对比HTML4的主要改变和改进总结
2016/05/27 HTML / CSS
浅谈HTML5 & CSS3的新交互特性
2016/07/19 HTML / CSS
印度最大的旅游网站:MakeMyTrip
2016/10/05 全球购物
韩国乐天网上商城:Lotte iMall
2021/02/03 全球购物
文员自我评价怎么写
2013/09/19 职场文书
九年级英语教学反思
2014/01/31 职场文书
学校端午节活动方案
2014/08/23 职场文书
医生爱岗敬业演讲稿
2014/08/26 职场文书
2015年公司中秋节致辞
2015/07/31 职场文书
工作自我评价范文
2019/03/21 职场文书
详解Vue的sync修饰符
2021/05/15 Vue.js