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基础知识:类与对象(1)
Dec 13 PHP
PHP Cookie的使用教程详解
Jun 03 PHP
yii框架表单模型使用及以数组形式提交表单数据示例
Apr 30 PHP
推荐一本PHP程序猿都应该拜读的书
Dec 31 PHP
php生成短域名函数
Mar 23 PHP
老司机传授Ubuntu下Apache+PHP+MySQL环境搭建攻略
Mar 20 PHP
yii2.0实现pathinfo的形式访问的配置方法
Apr 06 PHP
php+mysql+ajax实现单表多字段多关键词查询的方法
Apr 15 PHP
详细解读php的命名空间(一)
Feb 21 PHP
PHP实现用户异地登录提醒功能的方法【基于thinkPHP框架】
Mar 15 PHP
thinkPHP5框架中widget的功能与用法详解
Jun 11 PHP
PHP PDOStatement::nextRowset讲解
Feb 01 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使用者状态管理功能的应用
2006/10/09 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
2014/04/30 PHP
php动态变量定义及使用
2015/06/10 PHP
20个非常有用的PHP类库 加速php开发
2010/01/15 Javascript
自用js开发框架小成 学习js的朋友可以看看
2010/11/16 Javascript
ExtJs默认的字体大小改变的几种方法(自己整理)
2013/04/18 Javascript
用js实现控件的隐藏及style.visibility的使用
2013/06/14 Javascript
windows8.1+iis8.5下安装node.js开发环境
2014/12/12 Javascript
浅谈Javascript Base64 加密解密
2014/12/28 Javascript
JS动态创建DOM元素的方法
2015/06/09 Javascript
javascript比较语义化版本号的实现代码
2016/09/09 Javascript
canvas实现环形进度条效果
2017/03/23 Javascript
阿里大于短信验证码node koa2的实现代码(最新)
2017/09/07 Javascript
js正则表达式校验指定字符串的方法
2018/07/23 Javascript
vue 遮罩层阻止默认滚动事件操作
2020/07/28 Javascript
vue video和vue-video-player实现视频铺满教程
2020/10/30 Javascript
vue实现禁止浏览器记住密码功能的示例代码
2021/02/03 Vue.js
python判断给定的字符串是否是有效日期的方法
2015/05/13 Python
详解Python中heapq模块的用法
2016/06/28 Python
Python中几种属性访问的区别与用法详解
2018/10/10 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
pytorch中tensor.expand()和tensor.expand_as()函数详解
2019/12/27 Python
pytorch实现对输入超过三通道的数据进行训练
2020/01/15 Python
Html5页面获取微信公众号的openid的方法
2020/05/12 HTML / CSS
GANT葡萄牙官方商店:拥有美国运动服传统的生活方式品牌
2018/10/18 全球购物
美国林业供应商:Forestry Suppliers
2019/05/01 全球购物
白俄罗斯在线大型超市:e-dostavka.by
2019/07/25 全球购物
Gibson London官网:以地道的英国男装而著称
2019/12/06 全球购物
Linux上比较文件的命令都有哪些
2012/02/24 面试题
优秀毕业生自荐信
2014/06/10 职场文书
辞职信标准格式
2015/02/27 职场文书
Python自然语言处理之切分算法详解
2021/04/25 Python
MySQL的全局锁和表级锁的具体使用
2021/08/23 MySQL
最新最全的手机号验证正则表达式
2022/02/24 Javascript
Java练习之潜艇小游戏的实现
2022/03/16 Java/Android