php fopen()和file_get_contents() 区别介绍
本文章向码农们介绍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');
//$buffer=fgets($fp);
while (!feof($fp)) {
$buffer = fgets($fp);
echo $buffer;
}
fclose($fp);
?>

注意fopen读取文件需要配合使用fgets和fclose函数。
file_get_contents读取文件的代码如下:

<?php
if (file_exists($path)) {
$body = file_get_contents($path);
echo $body; //输入文件内容
} else {
echo "文件不存在 $path";
}
?>

这个函数是一次性读取所有文件内容并显示出来,但是如果文件超大会导致php占很大的内存了。
当然还有像file这种一般是把文件读成数组了,同时也可以实现读取文件了
下面给大家介绍下fopen()和file_get_contents()打开URL获得网页内容的用法区别
在php里,要想打开网页URL获得网页内容,比较常用的函数是fopen()和file_get_contents()。如果要求不苛刻,此两个函数多数情况下是可以根据个人爱好任意选择的,本文谈下此两函数的用法有什么区别,以及使用时需要注意的问题。
fopen()打开URL
下面是一个使用fopen()打开URL的例子:

<?php
$fh = fopen('http://www.baidu.com/', 'r');
if($fh){
while(!feof($fh)) {
echo fgets($fh);
}
}
?>

从此例子可以看到,fopen()打开网页后,返回的$fh不是字符串,不能直输出的,还需要用到fgets()这个函数来获取字符串。fgets()函数是从文件指针中读取一行。文件指针必须是有效的,必须指向由 fopen() 或 fsockopen() 成功打开的文件(并还未由 fclose() 关闭)。
可知,fopen()返回的只是一个资源,如果打开失败,本函数返回 FALSE 。
file_get_contents()打开URL
下面是一个使用file_get_contents()打开URL的例子:
<?php
$fh= file_get_contents('http://www.baidu.com/');
echo $fh;
?>
从此例子看到,file_get_contents()打开网页后,返回的$fh是一个字符串,可以直接输出的。
通过上面两个例子的对比,可以看出使用file_get_contents()打开URL,也许是更多人的选择,因为其比fopen()更简单便捷。
不过,如果是读取比较大的资源,则是用fopen()比较合适。
原文地址:http://www.manongjc.com/article/618.html
php fopen()和file_get_contents() 区别介绍的更多相关文章
- curl、fopen和file_get_contents区别
curl多用于互联网网页之间的抓取,fopen多用于读取文件,而file_get_contents多用于获取静态页面的内容. 1. fopen /file_get_contents 每次请求都会重新做 ...
- php中explode与split的区别介绍
php中explode与split的区别介绍 作者: 字体:[增加 减小] 类型:转载 今天在使用split时遇到一些问题.还是对函数理解不深刻,特写出来做个记 首先来看下两个方法的定义: 函数原型: ...
- px、em、rem区别介绍
px.em.rem区别介绍 PX px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的. PX特点 1. IE无法调整那些使用px作为单位的字体大小: 2. 国外的大部分网站能 ...
- style、currentStyle、getComputedStyle区别介绍
style.currentStyle.getComputedStyle区别介绍 来自:蓝色天空 样式表有三种方式 内嵌样式(inline Style) :是写在Tag里面的,内嵌样式只对所有的Tag有 ...
- otg线是什么,otg线和数据线的区别介绍
OTG是什么? OTG主要应用于各种不同的设备或移动设备间的联接,进行数据交换.USB技术的发展,使得PC和周边设备能够通过简单方式.适度的制造成本将各种数 据传输速度的设备连接在一起.上述我们的应用 ...
- 软件发布版本区别介绍-Alpha,Beta,RC,Release
Alpha: Alpha是内部测试版,一般不向外部发布,会有很多Bug.除非你也是测试人员,否则不建议使用. 是希腊字母的第一位,表示最初级的版本 alpha就是α,beta就是β alpha版就是比 ...
- MySQL单列索引和组合索引的区别介绍
MySQL单列索引和组合索引的区别介绍 作者:佚名出处:IT专家网2010-11-22 13:05 MySQL单列索引是我们使用MySQL数据库中经常会见到的,MySQL单列索引和组合索引的区别可能有 ...
- IIS7.5应用程序池集成模式和经典模式的区别介绍
IIS7.5应用程序池集成模式和经典模式的区别介绍 作者: 字体:[增加 减小] 类型:转载 时间:2012-08-07 由于最近公司服务器上需要将iis的应用程序池全部都升级到4.0的框架,当 ...
- Python import与from import使用及区别介绍
Python程序可以调用一组基本的函数(即内建函数),比如print().input()和len()等函数.接下来通过本文给大家介绍Python import与from import使用及区别介绍,感 ...
随机推荐
- C#使用SendMessage实现进程间通信的方法
本文实例讲述了C#使用SendMessage实现进程间通信的方法.分享给大家供大家参考.具体分析如下: 为了深入理解消息机制,先来做一个测试项目 在新建项目的Form1的代码中,加入方法: ? 1 2 ...
- 使用LogParser 将iis日志导入到数据库中
--注意修改日志位置和表名--u_ex180228.log 日志所在位置 --IISLog 表名--IISLog_table_0228 表名"C:\Program Files (x86)\L ...
- redis配置文件常用配置介绍
博客内容首发地址 参数说明 redis.conf 配置项说明如下: Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 当Redis以守护进 ...
- [Django笔记] admin 深入学习
admin django 内置的管理后台,大部分时候可以通过对admin进行配置来提高开发效率. 数据列表展示 默认情况下显示一个models-objects的列表,如果model定义了 __str_ ...
- Nginx+ISS+Redis实现完美负载均衡
前篇文章讲到nginx是使网站采用分布式,对用户的请求采用分布式,分配到不同的服务器上,然后进行同一站点的访问,保证了访问的高效,使用率高,生命期长. 说到ISS,这里重点介绍tomcat,Tomca ...
- Bit(位) and Byte(字节) ASCll 编码【基础】
Bit(位) 与Byte(字节)的区别bit意为“位”,是计算机运算的基础,与数据处理速度和传输速度有关.比如:USB2.0标准接口传输速率为480Mbps,其中bps=bits per second ...
- 【转】32位plsql连接64位oracle
源地址:http://www.cnblogs.com/ymj126/p/3712727.html
- Linux的SSH(Secure Shell Protocol)服务
在数据传输前,SSH会对需要传输的数据进行加密,保证会话安全与会话中传输数据的安全,SSH客户端还包含一个远程拷贝scp. 1.SSH的结构 SSH服务由服务端软件(openssh)和客户端(SSH. ...
- 对于vue的一些理解
首先是组件之间的通信方式 父组件到子组件的通信: props和$refs 子组件到父组件的通信: events 和 $parents 以及 $root 组件之间的通信 eventBus和vuex ev ...
- c++将文件之间编译关系降到最低
类的定义式:类的定义,可以知道类的大小 类的实现: 类的声明:类的声明,表明,使用此类,编译不会出错 C++并没有把“将接口从实现中分离”做得很好.Class的定义式不只详细叙述了Class接口,还包 ...