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的控制语句
Oct 09 PHP
新浪微博API开发简介之用户授权(PHP基础篇)
Sep 25 PHP
PHP+Mysql+jQuery实现动态展示信息
Oct 08 PHP
mysql数据库差异比较的PHP代码
Feb 05 PHP
PHP中$_FILES的使用方法及注意事项说明
Feb 14 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
Dec 17 PHP
PHP 下载文件时如何自动添加bom头及解释BOM头和去掉bom头的方法
Jan 04 PHP
基于php数组中的索引数组和关联数组详解
Mar 12 PHP
Yii框架的路由配置方法分析
Sep 09 PHP
laravel利用中间件防止未登录用户直接访问后台的方法
Sep 30 PHP
laravel框架邮箱认证实现方法详解
Nov 22 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
Dec 25 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中使用FFMPEG获取视频缩略图和视频总时长实例
2014/05/04 PHP
php查询mysql大量数据造成内存不足的解决方法
2015/03/04 PHP
使用PHP接受文件并获得其后缀名的方法
2015/08/05 PHP
php str_replace替换指定次数的方法详解
2017/05/05 PHP
PHP调用接口用post方法传送json数据的实例
2018/05/31 PHP
JScript分割字符串示例代码
2013/09/04 Javascript
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
JavaScript实现检查页面上的广告是否被AdBlock屏蔽了的方法
2014/11/03 Javascript
JS实现超炫网页烟花动画效果的方法
2015/03/02 Javascript
javascript实现复选框选中属性
2015/03/25 Javascript
JavaScript中操作Mysql数据库实例
2015/04/02 Javascript
详解AngularJS跨页面传值(ui-router)
2017/08/23 Javascript
浅谈angularJS2中的界面跳转方法
2018/08/31 Javascript
在vue 中使用 less的教程详解
2018/09/26 Javascript
JavaScript canvas仿代码流瀑布
2020/02/10 Javascript
微信小程序自定义底部弹出框动画
2020/11/18 Javascript
Python统计日志中每个IP出现次数的方法
2015/07/06 Python
python之PyMongo使用总结
2017/05/26 Python
django如何自己创建一个中间件
2019/07/24 Python
使用python实现画AR模型时序图
2019/11/20 Python
使用python快速实现不同机器间文件夹共享方式
2019/12/22 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
2020/02/17 Python
踩坑:pytorch中eval模式下结果远差于train模式介绍
2020/06/23 Python
Python3 webservice接口测试代码详解
2020/06/23 Python
PyTorch中model.zero_grad()和optimizer.zero_grad()用法
2020/06/24 Python
django ObjectDoesNotExist 和 DoesNotExist的用法
2020/07/09 Python
Python远程linux执行命令实现
2020/11/11 Python
夏季奶茶店创业计划书
2014/01/16 职场文书
奉献演讲稿范文
2014/05/21 职场文书
三八妇女节标语
2014/10/09 职场文书
父亲节活动总结
2015/02/12 职场文书
汽车4S店前台接待岗位职责
2015/04/03 职场文书
2016小学教师读书心得体会
2016/01/13 职场文书
2019大学生实习报告
2019/06/21 职场文书
MySQL数据迁移相关总结
2021/04/29 MySQL
Python办公自动化PPT批量转换操作
2021/09/15 Python