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 相关文章推荐
配置支持SSI
Nov 25 PHP
用 PHP5 轻松解析 XML
Dec 04 PHP
使用 eAccelerator加速PHP代码的目的
Mar 16 PHP
Zend framework处理一个http请求的流程分析
Feb 08 PHP
php中通过数组进行高效随机抽取指定条记录的算法
Sep 09 PHP
thinkphp实现面包屑导航(当前位置)例子分享
May 10 PHP
Yii配置文件用法详解
Dec 04 PHP
PHP快速排序quicksort实例详解
Sep 28 PHP
php使用变量动态创建类的对象用法示例
Feb 06 PHP
PHP创建单例后台进程的方法示例
May 23 PHP
在Laravel 的 Blade 模版中实现定义变量
Oct 14 PHP
PHP 对象接口简单实现方法示例
Apr 13 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
基于 Swoole 的微信扫码登录功能实现代码
2018/01/15 PHP
Javascript的时间戳和php的时间戳转换注意事项
2013/04/12 Javascript
Extjs优化(二)Form表单提交通用实现
2013/04/15 Javascript
jQuery中的read和JavaScript中的onload函数的区别
2014/08/27 Javascript
JavaScript实现的链表数据结构实例
2015/04/02 Javascript
JQuery中Bind()事件用法分析
2015/05/05 Javascript
Extjs4.0 ComboBox如何实现三级联动
2016/05/11 Javascript
JS把内容动态插入到DIV的实现方法
2016/07/19 Javascript
利用Js+Css实现折纸动态导航效果实例源码
2017/01/25 Javascript
mongoose设置unique不生效问题的解决及如何移除unique的限制
2017/11/07 Javascript
Angular5给组件本身的标签添加样式class的方法
2018/04/07 Javascript
Vue 通过自定义指令回顾v-内置指令(小结)
2018/09/03 Javascript
JavaScript数据结构与算法之基本排序算法定义与效率比较【冒泡、选择、插入排序】
2019/02/21 Javascript
JS算法题之查找数字在数组中的索引位置
2019/05/15 Javascript
深入解析koa之中间件流程控制
2019/06/17 Javascript
Vue.js实现可编辑的表格
2019/12/11 Javascript
javascript实现一款好看的秒表计时器
2020/09/05 Javascript
vue实现日历表格(element-ui)
2020/09/24 Javascript
使用PDB模式调试Python程序介绍
2015/04/05 Python
python连接MySQL数据库实例分析
2015/05/12 Python
python的keyword模块用法实例分析
2015/06/30 Python
Python读取Excel的方法实例分析
2015/07/11 Python
Python实现基于POS算法的区块链
2018/08/07 Python
Python实现登陆文件验证方法
2018/10/06 Python
python使用response.read()接收json数据的实例
2018/12/19 Python
解决python中的幂函数、指数函数问题
2019/11/25 Python
python 爬取英雄联盟皮肤并下载的示例
2020/12/04 Python
婴儿地球:Baby Earth
2018/12/25 全球购物
巴西电子、家电、智能手机购物网站:Girafa
2019/06/04 全球购物
Python面试题:Python是如何进行内存管理的
2014/08/04 面试题
中专生学习生活的自我评价分享
2013/10/27 职场文书
《两只鸟蛋》教学反思
2014/02/10 职场文书
3分钟英语演讲稿
2014/04/29 职场文书
投标人廉洁自律承诺书
2014/05/26 职场文书
诚实守信道德模范事迹材料
2014/08/15 职场文书
2014年连锁店圣诞节活动方案
2014/12/09 职场文书