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抓取页面的几种方法详解
Jun 17 PHP
解析php中获取url与物理路径的总结
Jun 21 PHP
php增删改查示例自己写的demo
Sep 04 PHP
php实现Mongodb自定义方式生成自增ID的方法
Mar 23 PHP
php判断文件夹是否存在不存在则创建
Apr 09 PHP
Laravel 中获取上一篇和下一篇数据
Jul 27 PHP
PHP读取文件内容的五种方式
Dec 28 PHP
PHP获取用户访问IP地址的5种方法
May 16 PHP
PHP+Apache+Mysql环境搭建教程
Aug 01 PHP
PHP命名空间namespace的定义方法详解
Mar 29 PHP
PHP大文件切割上传功能实例分析
Jul 01 PHP
PHP基于openssl实现非对称加密代码实例
Jun 19 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
ini_set的用法介绍
2014/01/07 PHP
PHP创建PowerPoint2007文档的方法
2015/12/10 PHP
PHP中header用法小结
2016/05/23 PHP
php封装一个异常的处理类
2017/06/08 PHP
用JQuery 实现AJAX加载XML并解析的脚本
2009/07/25 Javascript
jquery1.4.2 for Visual studio 2010 模板文件
2010/07/14 Javascript
JavaScript数据结构与算法之链表
2016/01/29 Javascript
bootstrap datepicker 与bootstrapValidator同时使用时选择日期后无法正常触发校验的解决思路
2016/09/28 Javascript
JavaScript 判断一个对象{}是否为空对象的简单方法
2016/10/09 Javascript
Vue表单验证插件的制作过程
2017/04/01 Javascript
jquery+ajax实现省市区三级联动 (封装和不封装两种方式)
2017/05/15 jQuery
JavaScript之Map和Set_动力节点Java学院整理
2017/06/29 Javascript
AngularJS select加载数据选中默认值的方法
2018/02/28 Javascript
Angular实现模版驱动表单的自定义校验功能(密码确认为例)
2018/05/17 Javascript
使用Angular-CLI构建NPM包的方法
2018/09/07 Javascript
javascript中关于类型判断的一些疑惑小结
2018/10/14 Javascript
简单了解vue 插值表达式Mustache
2020/07/22 Javascript
[05:34]2014DOTA2国际邀请赛中国区预选赛精彩TOPPLAY第二弹
2014/06/25 DOTA
Python使用django搭建web开发环境
2017/06/09 Python
python利用rsa库做公钥解密的方法教程
2017/12/10 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
Python 做曲线拟合和求积分的方法
2018/12/29 Python
TensorFlow:将ckpt文件固化成pb文件教程
2020/02/11 Python
浅析pip安装第三方库及pycharm中导入第三方库的问题
2020/03/10 Python
Python 实现网课实时监控自动签到、打卡功能
2020/03/12 Python
Python中flatten( ),matrix.A用法说明
2020/07/05 Python
加拿大建筑和装修专家:Reno-Depot
2017/12/21 全球购物
ORLY官网:美国专业美甲一线品牌
2019/12/11 全球购物
浙江文明网签名寄语
2014/01/18 职场文书
可贵的沉默教学反思
2014/02/06 职场文书
学历公证委托书
2014/04/09 职场文书
检讨书格式
2015/01/23 职场文书
装饰技术负责人岗位职责
2015/04/13 职场文书
2015年城管个人工作总结
2015/05/15 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
vue3如何优雅的实现移动端登录注册模块
2021/03/29 Vue.js