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

2015-01-24信息快讯网

关于file_get_content 和curl以及fopen 的效率问题,小编比较倾向于使用curl来访问远程url。Php有curl模块扩展,功能很是强大。没事可以研究一下。

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

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使用正则表达式获取图片url的方法
php使用CURL伪造IP和来源实例详解
ucenter通信原理分析
CI框架中site_url()和base_url()的区别
Zend Guard使用指南及问题处理
PHP中使用CURL获取页面title例子
php中fsockopen用法实例
php读取mssql的ntext字段返回值为空的解决方法
为PHP5.4开启Zend OPCode缓存
关于URL最大长度限制的相关资料查证
CentOS6.5 编译安装lnmp环境
PHP中使用file_get_contents抓取网页中文乱码问题解决方法
php中get_meta_tags()、CURL与user-agent用法分析
php采用curl实现伪造IP来源的方法
PHP基于CURL进行POST数据上传实例
php分页函数完整实例代码
PHP return语句另类用法不止是在函数中
CentOS 6.3下安装PHP xcache扩展模块笔记
PHP curl 抓取AJAX异步内容示例
php通过隐藏表单控件获取到前两个页面的url
字符串长度函数strlen和mb_strlen的区别示例介绍
Windows下的PHP 5.3.x安装 Zend Guard Loader教程
当前比较流行的两款PHP加密、解密工具Zend Guard和iconCube介绍
CodeIgniter框架URL路由总结
Yii中render和renderPartial的区别
使用YUI+Ant 实现JS CSS压缩
在Ubuntu 14.04上部署 PHP 环境及 WordPress
php获取URL中带#号等特殊符号参数的解决方法
PHP中echo和print的区别
使用php方法curl抓取AJAX异步内容思路分析及代码分享
简单分析ucenter 会员同步登录通信原理
php中的curl_multi系列函数使用例子
PHP使用CURL_MULTI实现多线程采集的例子
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
©2014-2024 dbsqp.com