PHP使用fopen与file_get_contents读取文件实例分享


Posted in PHP onMarch 04, 2016

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()比较合适。

PHP 相关文章推荐
php adodb操作mysql数据库
Mar 19 PHP
PHP动态分页函数,PHP开发分页必备啦
Nov 07 PHP
php更新mysql后获取影响的行数发生异常解决方法
Mar 28 PHP
PHP调用wsdl文件类型的接口代码分享
Nov 19 PHP
php源码分析之DZX1.5字符串截断函数cutstr用法
Jun 17 PHP
PHP+shell实现多线程的方法
Jul 01 PHP
thinkphp3.x连接mysql数据库的方法(具体操作步骤)
May 19 PHP
Zend Framework入门应用实例详解
Dec 11 PHP
PHP的反射机制实例详解
Mar 29 PHP
PHP实现创建微信自定义菜单的方法示例
Jul 14 PHP
Laravel框架实现利用监听器进行sql语句记录功能
Jun 06 PHP
PHP Cli 模式设置进程名称的方法
Jun 12 PHP
PHP截取IE浏览器并缩小原图的方法
Mar 04 #PHP
zend framework中使用memcache的方法
Mar 04 #PHP
PHP结合Mysql数据库实现留言板功能
Mar 04 #PHP
实现PHP框架系列文章(6)mysql数据库方法
Mar 04 #PHP
Codeigniter中集成smarty和adodb的方法
Mar 04 #PHP
PHP常用技巧汇总
Mar 04 #PHP
将PHP程序中返回的JSON格式数据用gzip压缩输出的方法
Mar 03 #PHP
You might like
php 字符过滤类,用于过滤各类用户输入的数据
2009/05/27 PHP
使ecshop模板中可引用常量的实现方法
2011/06/02 PHP
php编程实现获取excel文档内容的代码实例
2011/06/28 PHP
ThinkPHP做文字水印时提示call an undefined function exif_imagetype()解决方法
2014/10/30 PHP
PHP和C#可共用的可逆加密算法详解
2015/10/26 PHP
php实现头像上传预览功能
2017/04/27 PHP
javascript while语句和do while语句的区别分析
2007/12/08 Javascript
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
深入理解JS DOM事件机制
2016/08/06 Javascript
轻松掌握JavaScript中介者模式
2016/08/26 Javascript
清除浏览器缓存的几种方法总结(必看)
2016/12/09 Javascript
详解js树形控件—zTree使用总结
2016/12/28 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
vue.js+Echarts开发图表放大缩小功能实例
2017/06/09 Javascript
利用angular、react和vue实现相同的面试题组件
2018/02/19 Javascript
在vue中使用jointjs的方法
2018/03/24 Javascript
vue全局组件与局部组件使用方法详解
2018/03/29 Javascript
菊花转动的jquery加载动画效果
2018/08/19 jQuery
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
python getopt 参数处理小示例
2009/06/09 Python
Python 元类使用说明
2009/12/18 Python
python操作mysql中文显示乱码的解决方法
2014/10/11 Python
Python增量循环删除MySQL表数据的方法
2016/09/23 Python
Python 利用切片从列表中取出一部分使用的方法
2019/02/01 Python
python使用SQLAlchemy操作MySQL
2020/01/02 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
利用CSS3伪元素实现逐渐发光的方格边框
2017/05/07 HTML / CSS
htnl5利用svg页面高斯模糊的方法
2018/07/20 HTML / CSS
写好自荐信的几个要点
2013/12/26 职场文书
财务信息服务专业自荐书范文
2014/02/08 职场文书
企业标语口号
2014/06/10 职场文书
药剂专业毕业生求职信
2014/06/24 职场文书
歼十出击观后感
2015/06/11 职场文书
开业典礼致辞
2015/07/29 职场文书
怎样写好演讲稿题目?
2019/08/21 职场文书
MySQL 使用自定义变量进行查询优化
2021/05/14 MySQL