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版(3)
Oct 09 PHP
PHPMailer邮件类利用smtp.163.com发送邮件方法
Sep 11 PHP
PHP的autoload自动加载机制使用说明
Dec 28 PHP
最新用php获取谷歌PR值算法,附上php查询PR值代码示例
Dec 25 PHP
php数组中删除元素的实现代码
Jun 22 PHP
深入php多态的实现详解
Jun 09 PHP
Yii框架中memcache用法实例
Dec 03 PHP
php字符串的替换,分割和连接方法
May 23 PHP
Yii中srbac权限扩展模块工作原理与用法分析
Jul 14 PHP
PHP文件上传处理案例分析
Oct 15 PHP
Laravel使用模型实现like模糊查询的例子
Oct 24 PHP
laravel 实现用户登录注销并限制功能
Oct 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
php后退一页表单内容保存实现方法
2012/06/17 PHP
php中数据库连接方式pdo和mysqli对比分析
2015/02/25 PHP
Laravel使用Queue队列的技巧汇总
2019/09/02 PHP
跟着JQuery API学Jquery 之三 筛选
2010/04/09 Javascript
javascript代码加载优化方法
2011/01/30 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
使用js实现雪花飘落效果
2013/08/26 Javascript
Javascript表格翻页效果的具体实现
2013/10/05 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
在linux中使用包管理器安装node.js
2015/03/13 Javascript
cookie的secure属性详解
2015/04/08 Javascript
js文本框输入内容智能提示效果
2015/12/02 Javascript
动态生成的DOM不会触发onclick事件的原因及解决方法
2016/08/06 Javascript
Bootstrap中的fileinput 多图片上传及编辑功能
2016/09/05 Javascript
浅谈javascript中遇到的字符串对象处理
2016/11/18 Javascript
js实现小窗口拖拽效果
2016/12/03 Javascript
Vue.js做select下拉列表的实例(ul-li标签仿select标签)
2018/03/02 Javascript
vue-cli3 项目从搭建优化到docker部署的方法
2019/01/28 Javascript
Vue运用transition实现过渡动画
2019/05/06 Javascript
vue实现PC端录音功能的实例代码
2019/06/05 Javascript
VUE单页面切换动画代码(全网最好的切换效果)
2019/10/31 Javascript
vue动态路由:路由参数改变,视图不更新问题的解决
2019/11/05 Javascript
[50:02]完美世界DOTA2联赛循环赛 Magma vs IO BO2第一场 11.01
2020/11/02 DOTA
python+mysql实现简单的web程序
2014/09/11 Python
Python函数中*args和**kwargs来传递变长参数的用法
2016/01/26 Python
使用python调用zxing库生成二维码图片详解
2017/01/10 Python
用Anaconda安装本地python包的方法及路径问题(图文)
2019/07/16 Python
使用pytorch和torchtext进行文本分类的实例
2020/01/08 Python
综治维稳工作汇报
2014/10/27 职场文书
2014年生产管理工作总结
2014/12/23 职场文书
安阳殷墟导游词
2015/02/10 职场文书
公诉意见书范文
2015/06/05 职场文书
开学典礼校长致辞
2015/07/29 职场文书
导游词之扬州大明寺
2019/10/09 职场文书
四十九个javascript小知识实用技巧
2021/11/20 Javascript
html解决浏览器记住密码输入框的问题
2023/05/07 HTML / CSS