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
PHP用户指南-cookies部分
Oct 09 PHP
php基础知识:类与对象(4) 范围解析操作符(::)
Dec 13 PHP
PHP OPCode缓存 APC详细介绍
Oct 12 PHP
php出现内存位置访问无效错误问题解决方法
Aug 16 PHP
各种快递查询--Api接口
Apr 26 PHP
php flush无效,IIS7下php实时输出的方法
Aug 25 PHP
php pdo操作数据库示例
Mar 10 PHP
PHP面向对象五大原则之开放-封闭原则(OCP)详解
Apr 04 PHP
PHP PDOStatement::getAttribute讲解
Feb 01 PHP
PHP5.6读写excel表格文件操作示例
Feb 26 PHP
php设计模式之单例模式用法经典示例分析
Sep 20 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
在Mac OS上搭建PHP的Yii框架及相关测试环境
2016/02/14 PHP
PHP云打印类完整示例
2016/10/15 PHP
如何在标题栏显示框架内页面的标题
2007/02/03 Javascript
web 页面分页打印的实现
2009/06/22 Javascript
JavaScript 三种创建对象的方法
2009/10/16 Javascript
js 替换功能函数,用正则表达式解决,js的全部替换
2010/12/08 Javascript
JQuery实现鼠标滚轮滑动到页面节点
2015/07/28 Javascript
理解javascript中的原型和原型链
2015/07/30 Javascript
jQuery实现可用于博客的动态滑动菜单完整实例
2015/09/17 Javascript
JavaScript弹出对话框的三种方式
2016/03/23 Javascript
WEB开发之注册页面验证码倒计时代码的实现
2016/12/15 Javascript
浅谈js script标签中的预解析
2016/12/30 Javascript
jQuery实现文章图片弹出放大效果
2017/04/06 jQuery
vue2实现可复用的轮播图carousel组件详解
2017/11/27 Javascript
jquery无缝图片轮播组件封装
2020/11/25 jQuery
记一次用vue做的活动页的方法步骤
2019/04/11 Javascript
详解Node.js异步处理的各种写法
2019/06/09 Javascript
vue 中几种传值方法(3种)
2019/11/12 Javascript
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
Python 内置函数进制转换的用法(十进制转二进制、八进制、十六进制)
2018/04/30 Python
python使用thrift教程的方法示例
2019/03/21 Python
十行代码使用Python写一个USB病毒
2019/06/21 Python
python实现websocket的客户端压力测试
2019/06/25 Python
opencv-python 读取图像并转换颜色空间实例
2019/12/09 Python
三步解决python PermissionError: [WinError 5]拒绝访问的情况
2020/04/22 Python
在tensorflow实现直接读取网络的参数(weight and bias)的值
2020/06/24 Python
Python 可视化神器Plotly详解
2020/12/26 Python
image-set实现Retina屏幕下图片显示详细介绍
2012/12/24 HTML / CSS
HTML5如何实现元素拖拽
2016/03/11 HTML / CSS
微信浏览器取消缓存的方法
2015/03/28 HTML / CSS
某公司Java工程师面试题笔试题
2016/03/27 面试题
建筑工程专业学生的自我评价
2013/12/25 职场文书
会计与审计专业自荐信范文
2014/03/15 职场文书
初二英语教学反思
2016/02/15 职场文书
SQL注入的实现以及防范示例详解
2021/06/02 MySQL
基于Apache Hudi在Google云构建数据湖平台的思路详解
2022/04/07 Servers