php中file_get_content 和curl以及fopen 效率分析
三个函数虽然都是读取资源的函数,但各自的应用场景不同。
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 file_put_contents()功能函数(集成了fopen、fwrite、fclose)
命令:file_put_contents(): 命令解析:file_put_contents (PHP 5) file_put_contents -- 将一个字符串写入文件 说明: int file_put_contents ( string filename, string data [, int flags [, resource context]] ) 和依次调用 fopen(),fwrite() 以及 fclose() 功能一样. 参数 data 可以是数组(但不能为多维数组),这就相当
-
PHP 获取远程网页内容的代码(fopen,curl已测)
1.fopen的使用 复制代码 代码如下: <?php $handle = fopen ("http://s.jb51.net/", "rb"); $contents = ""; while (!feof($handle)) { $contents .= fread($handle, 8192); } fclose($handle); echo $contents; //输出获取到得内容. ?> 复制代码 代码如下: // 对 PHP
-
PHP fopen()和 file_get_contents()应用与差异介绍
复制代码 代码如下: $file=fopen("11.txt","r")or exit("Unable to open file!");//fopen打开文件,如果不存在就显示打不开. $filesize =filesize("11.txt");//计算文件大小 echo fread($file,$filesize);//读取文件 fclose($file);//关闭文件 fopen()打开文件例子, fclose()用不用在
-
php使用fopen创建utf8编码文件的方法
本文实例讲述了php使用fopen创建utf8编码文件的方法.分享给大家供大家参考.具体实现方法如下: 一般来说,如果我们直接使用fopen创建会发现文件编码都不是uft-8的了,那么如果要创建uft8文件我们需要进行一些技术处理.具体步骤如下: 使用PHP创建编码格式为utf-8文件的方法: 第一步:新建一个txt文件,打开,文件->另存为xxx.php,并将编码改为UTF-8,保存. 第二部:在php文件中加入如下代码: 复制代码 代码如下: <?php $filename=rand(10
-
php打开文件fopen函数的使用说明
1.resource fopen(string $filename, string $mode [,bool $use_include_path [, resource $zcontext]])函数功能:fopen() 将 filename 指定的名字资源绑定到一个流上.如果filename 是 "scheme://..." 的格式,则被当成一个 URL,PHP 将搜索协议处理器(也被称为封装协议)来处理此模式.如果该协议尚未注册封装协议,PHP 将发出一条消息来帮助检查脚本中潜在
-
php 使用fopen函数创建、打开文件详解及实例代码
php中没有单独的文件创建函数,如果我们想创建函数,可以使用fopen(),fopen()函数字面意思是打开文件,但该函数也有创建文件的功能,当使用 fopen() 函数打开一个文件时,如果文件不存在,则会尝试创建该文件,并返回一个资源. php fopen函数介绍 fopen函数打开文件或者 URL 语法: resource fopen( string filename, string mode ) fopen()将 filename 指定的名字资源绑定到一个流上. 参数: 1. filena
-
PHP使用fopen与file_get_contents读取文件实例分享
php中读取文件可以使用fopen和file_get_contents这两个函数,二者之间没有本质区别,只是前者读取文件的php代码相比后者要复杂一点.本文章通过实例向大家讲解fopen和file_get_contents读取文件的实现代码.需要的码农可以参考一下. fopen读取文件的代码如下: <?php $file_name = "1.txt"; echo $file_name . " "; $fp = fopen($file_name, 'r'); /
-
php读取本地文件常用函数(fopen与file_get_contents)
下面我们以.txt文件为实例来介绍php读取本地文件的函数,读取文件我们可以利用fopen或file_get_contents来读取,file_get_contents更简单而fopen需要fread配合才可以显示读出的内容. 1.首先来介绍一下fopen()函数 下面我们给出了一个直接打开本地文件的代码demo,必要的地方我们都已经加上了注释: 复制代码 代码如下: //直接打开一个本地文件的实例代码 <?php //假若我们本地的文件是一个名为xmlas.txt的文本
-
PHP fopen 读取带中文URL地址的一点见解
但昨天在读取一张图片的时候出问题了,后来发现是URL里带中文字符. 例如下面这种情况: 复制代码 代码如下: $files = fopen('http://www.website.com/我的PP.jpg', 'rb'); 那"$files"的返回值将会是"False".首先我想到的是将URL用urlencode编码一下,发现还是不行,原来urlencode会把":"."/"字符也编码了,那URL就不是URL了.呵,说得有些绕
-
PHP中通过fopen()函数访问远程文件示例
使用PHP不仅可以让用户通过浏览器访问服务器端的文件,还可以通过HTTP或FTP等协议访问其他服务器中的文件,可以在大多数需要用文件名作为参数的函数中使用HTTP和FTP URL来代替文件名.使用fopen()函数将指定的文件名与资源绑定到一个流上,如果文件名是"scheme://-"的格式,则被当成一个URL,PHP将搜索协议处理器(也被成为封装协议)来处理此模式. 如果需要远程访问文件,必须在PHP的配置文件中激活"allow_url_fopen"选项,才能使用
-
解析php中的fopen()函数用打开文件模式说明
fopen() 函数用于在 PHP 中打开文件.此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件: 复制代码 代码如下: <?php$file=fopen("welcome.txt","r");?> 文件可能通过下列模式来打开:r : 只读.指针定位在文件的开头,如果文件不会报错.r+: 读/写.指针定位在文件的开头,如果文件不存会报错.w : 只写.打开并清空文件的内容,如果文件不存在,则创建新文件.w+: 读/写.打开
-
PHP读取网页文件内容的实现代码(fopen,curl等)
1.fopen实现代码: 复制代码 代码如下: <?php $handle = fopen ("http://www.example.com/", "rb"); $contents = ""; while (!feof($handle)) { $contents .= fread($handle, 8192); } fclose($handle); ?> 复制代码 代码如下: <?php // 对 PHP 5 及更高版本 $ha
随机推荐
- iOS10全新推送功能实现代码
- ASP.NET MVC5网站开发文章管理架构(七)
- javascript使用正则获取url上的某个参数
- 快速获取/设置iframe内对象元素的几种js实现方法
- asp.net下的异步加载
- phpmyadmin里面导入sql语句格式的大量数据的方法
- c# SQLHelper(for winForm)实现代码
- 仅IE支持clearAttributes/mergeAttributes方法使用介绍
- 早该知道的7个JavaScript技巧
- python编程开发之日期操作实例分析
- C++语言编写写日志类
- 学习从实践开始之jQuery插件开发 菜单插件开发
- 解决Windows 10家庭版安装SQL Server 2014出现.net 3.5失败问题
- JS非Alert实现网页右下角“未读信息”效果弹窗
- JavaScript实现前端分页控件
- 微信小程序 开发之滑块视图容器(swiper)详解及实例代码
- Android实现移动小球和CircularReveal页面切换动画实例代码
- 在C++中反射调用.NET的方法(三)
- 多php服务器实现多session并发运行
- Angular2开发环境搭建教程之VS Code