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 相关文章推荐
web方式ftp
Oct 09 PHP
第五章 php数组操作
Dec 30 PHP
PHP四舍五入精确小数位及取整
Jan 14 PHP
php快递单号查询接口使用示例
May 05 PHP
ThinkPHP使用心得分享-分页类Page的用法
May 15 PHP
Codeigniter的一些优秀特性总结
Jan 21 PHP
PHP预定义变量9大超全局数组用法详解
Apr 23 PHP
thinkphp5 加载静态资源路径与常量的方法
Dec 24 PHP
php-fpm重启导致的程序执行中断问题详解
Apr 29 PHP
解决laravel session失效的问题
Oct 14 PHP
laravel 数据验证规则详解
Oct 23 PHP
PHP连续签到功能实现方法详解
Dec 04 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
什么是调频(FM)、调幅(AM)、短波(SW)、长波(LW)
2021/03/01 无线电
BBS(php & mysql)完整版(四)
2006/10/09 PHP
PHP扩展Memcache分布式部署方案
2015/12/06 PHP
jQuery EasyUI API 中文文档 - Dialog对话框
2011/11/15 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
Javascript模块化编程(一)AMD规范(规范使用模块)
2013/01/17 Javascript
javascript定义变量时有var和没有var的区别探讨
2014/07/21 Javascript
基于Jquery+Ajax+Json实现分页显示附效果图
2014/07/30 Javascript
JavaScript link方法入门实例(给字符串加上超链接)
2014/10/17 Javascript
javascript:void(0)是什么意思及href=#与href=javascriptvoid(0)的区别
2015/11/13 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
微信QQ的二维码登录原理js代码解析
2016/06/23 Javascript
微信公众号  提示:Unauthorized API function 问题解决方法
2016/12/05 Javascript
基于jQuery制作小图标上下滑动特效
2017/01/18 Javascript
ES6新特性七:数组的扩充详解
2017/04/21 Javascript
vue动态绑定组件子父组件多表单验证功能的实现代码
2018/05/14 Javascript
深入解析Vue源码实例挂载与编译流程实现思路详解
2019/05/05 Javascript
vue移动端实现手机左右滑动入场动画
2020/06/17 Javascript
jQuery实现移动端图片上传预览组件的方法分析
2020/05/01 jQuery
VSCode launch.json配置详细教程
2020/06/18 Javascript
原生JS实现京东查看商品点击放大
2020/12/21 Javascript
python获得图片base64编码示例
2014/01/16 Python
基于Python pip用国内镜像下载的方法
2018/06/12 Python
python pickle存储、读取大数据量列表、字典数据的方法
2019/07/07 Python
PyCharm Anaconda配置PyQt5开发环境及创建项目的教程详解
2020/03/24 Python
使用python将微信image下.dat文件解密为.png的方法
2020/11/30 Python
Ralph Lauren法国官网:美国高品味时装品牌
2017/12/08 全球购物
size?德国官方网站:英国伦敦的球鞋精品店
2018/03/17 全球购物
公务员培训心得体会
2013/12/28 职场文书
对标管理实施方案
2014/03/12 职场文书
2014年大学生四年规划书范文
2014/04/03 职场文书
幼儿园教研活动总结
2014/04/30 职场文书
通信工程专业求职信
2014/06/04 职场文书
旅游与酒店管理专业求职信
2014/07/21 职场文书
银行稽核岗位职责
2015/04/13 职场文书
2015年党风廉政建设目标责任书
2015/05/08 职场文书