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

yipeiwu_com6年前PHP代码库

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

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中利用wsdl创建标准webservice的实现代码

1、创建wsdl 说明: A、非标准的webservice,可能只能PHP才能访问 B、标准的webservice,就必须要使用wsdl(webservice description l...

无法载入 mcrypt 扩展,请检查 PHP 配置终极解决方案

无法载入 mcrypt 扩展,<br />请检查 PHP 配置 出现以下几种情况后可能会造成运行phpmyadmin程序提示“无法载入 mcrypt 扩展,<br /&...

php中简单的对称加密算法实现

前言 在网上找到了一个不错的PHP方面的对称加密算法;在PHP的语法环境里,有urlencode与urldecode,base64_encode和base64_decode自带的对称算法...

深入理解PHP的远程多会话调试

深入理解PHP的远程多会话调试

一、背景介绍 本文主要给大家介绍了关于PHP远程多会话调试的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍: 解决什么问题:多个项目断点调试,www.mysit...

PHP实现单文件、多个单文件、多文件上传函数的封装示例

本文实例讲述了PHP实现单文件、多个单文件、多文件上传函数的封装。分享给大家供大家参考,具体如下: 表单: s.php 要在选择上传文件时能一次选择多个文件,那么就加multiple="...