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编程语言开发动态WAP页面
Oct 09 PHP
PHP下对数组进行排序的函数
Aug 08 PHP
php线性表顺序存储实现代码(增删查改)
Feb 16 PHP
有关phpmailer的详细介绍及使用方法
Jan 28 PHP
PHP采集类Snoopy抓取图片实例
Jun 19 PHP
php中mkdir函数用法实例分析
Nov 15 PHP
php中Socket创建与监听实现方法
Jan 05 PHP
mysql alter table命令修改表结构实例详解
Sep 24 PHP
PHP利用正则表达式将相对路径转成绝对路径的方法示例
Feb 28 PHP
php+redis实现消息队列功能示例
Sep 19 PHP
tp5框架前台无限极导航菜单类实现方法分析
Mar 29 PHP
解决PHP Opcache 缓存刷新、代码重载出现无法更新代码的问题
Aug 24 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
玛琪朵 Macchiato
2021/03/03 咖啡文化
php数组删除元素示例
2014/03/21 PHP
mac环境中使用brew安装php5.5.15
2014/08/18 PHP
一个简单的php路由类
2016/05/29 PHP
PHP基于imagick扩展实现合成图片的两种方法【附imagick扩展下载】
2017/11/14 PHP
我见过最全的个人js加解密功能页面
2007/12/12 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
2013/04/23 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
jQuery Timelinr实现垂直水平时间轴插件(附源码下载)
2016/02/16 Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
2016/05/17 Javascript
jQuery无刷新上传之uploadify简单代码
2017/01/17 Javascript
微信小程序 缓存(本地缓存、异步缓存、同步缓存)详解
2017/01/17 Javascript
Angularjs处理页面闪烁的解决方法
2017/03/09 Javascript
nodejs简单访问及操作mysql数据库的方法示例
2018/03/15 NodeJs
Vue引入sass并配置全局变量的方法
2018/06/27 Javascript
js+css实现红包雨效果
2018/07/12 Javascript
微信小程序系列之自定义顶部导航功能
2019/05/21 Javascript
es6中let和const的使用方法详解
2020/02/24 Javascript
Python中apply函数的用法实例教程
2014/07/31 Python
Python排序搜索基本算法之插入排序实例分析
2017/12/11 Python
Python with语句上下文管理器两种实现方法分析
2018/02/09 Python
python自定义时钟类、定时任务类
2021/02/22 Python
Python 实现判断图片格式并转换,将转换的图像存到生成的文件夹中
2020/01/13 Python
CSS3 Pie工具推荐--让IE6-8支持一些优秀的CSS3特性
2014/09/02 HTML / CSS
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
文科毕业生自荐书范文
2014/04/17 职场文书
导师评语大全
2014/04/26 职场文书
医院院务公开实施方案
2014/05/03 职场文书
公司授权委托书范文
2014/09/21 职场文书
警告通知
2015/04/25 职场文书
pytorch fine-tune 预训练的模型操作
2021/06/03 Python
Python中json.load()和json.loads()有哪些区别
2021/06/07 Python
MySQL表锁、行锁、排它锁及共享锁的使用详解
2022/04/02 MySQL
TV动画《政宗君的复仇》第二季制作决定PV公布
2022/04/02 日漫
阿里云ECS云服务器快照的概念以及如何使用
2022/04/21 Servers
win7配置本地ftp服务器的图文教程
2022/08/05 Servers