PHP中读写文件实现代码


Posted in PHP onOctober 20, 2011

在PHP中读写文件,可以用到一下内置函数:

1.fopen(创建文件和打开文件)
语法:

fopen(filename,mode)

filename,规定要打开的文件。mode,打开文件的模式,可能的值见下表。

mode 说明

"r" 只读方式打开,将文件指针指向文件开头。
"r+" 读写方式打开,将文件指针指向文件开头。
"w" 写入方式打开,将文件指针指向文件开头并将文件大小截为零。如果文件不存在则尝试创建。
"w+" 读写方式打开,将文件指针指向文件开头并将文件大小截为零。如果文件不存在则尝试创建。
"a" 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建。
"a+" 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建。
如果成功打开文件,fopen函数的返回值是一个文件指针,如果出错,返回 FALSE。

示例:

<?php 
$fp = fopen("test.txt", "r"); 
?>

2.fclose(关闭文件)
语法:

fclose(filepointer)
filepointer,要关闭的文件指针。如果成功,fclose 函数返回 TRUE,如果失败,fclose 函数返回 FALSE。
示例:

<?php 
$fp = fopen("test.txt", "r"); 
fclose($fp); 
?>

3.feof(检测是否已到达文件末尾)
语法:

feof(filepointer)
filepointer,要检测的文件指针,该指针必须指向成功打开没有关闭的文件。如果文件指针到了文件末尾或者出错时,feof函数返回 TRUE。
示例:

<?php 
$fp = fopen("test.txt", "r"); 
while(! feof($fp)) 
{ 
echo fgets($fp). "<br />"; 
} 
fclose($fp); 
?>

4.fgets(从文件指针中读取一行)
语法:

fgets(filepointer)
filepointer,要读取的文件指针。如果成功,从文件中读取一行并返回字符串,如果失败,返回 FALSE。
示例:

<?php 
$fp = fopen("test.txt", "r"); 
if($fp) 
{ 
for($i=1;! feof($fp);$i++) 
{ 
echo "行".$i." : ".fgets($fp). "<br />"; 
} 
} 
else 
{ 
echo "打开文件失败"; 
} 
fclose($fp); 
?>

假设test.txt的内容为:

hello world
hello cnblogs
hello heihaozi
hello everyone
页面输出的结果为:

行1 : hello world
行2 : hello cnblogs
行3 : hello heihaozi
行4 : hello everyone
5.fwrite(写入文件)
语法:

fwrite(filepointer,string)
filepointer,要写入的文件指针。string,要写入的字符串。如果成功,返回写入的字符数,如果失败,返回 FALSE。
示例:

<?php 
$fp = fopen("test.txt", "w");//文件被清空后再写入 
if($fp) 
{ 
$count=0; 
for($i=1;$i<=5;$i++) 
{ 
$flag=fwrite($fp,"行".$i." : "."Hello World!\r\n"); 
if(!$flag) 
{ 
echo "写入文件失败<br>"; 
break; 
} 
$count+=$flag; 
} 
echo "共写入".$count."个字符"; 
} 
else 
{ 
echo "打开文件失败"; 
} 
fclose($fp); 
?>

页面输出的结果为:

共写入100个字符
test.txt文件会被写入:

行1 : Hello World!
行2 : Hello World!
行3 : Hello World!
行4 : Hello World!
行5 : Hello World!


注:为了简化操作,部分函数的可选参数没有列出。

PHP 相关文章推荐
使用sockets:从新闻组中获取文章(二)
Oct 09 PHP
asp和php下textarea提交大量数据发生丢失的解决方法
Jan 20 PHP
PHP 多进程 解决难题
Jun 22 PHP
php file_put_contents()功能函数(集成了fopen、fwrite、fclose)
May 24 PHP
一个不易被发现的PHP后门代码解析
Jul 05 PHP
PHP匿名函数和use子句用法实例
Mar 16 PHP
PHP获取指定日期是星期几的实现方法
Nov 30 PHP
PHP7下协程的实现方法详解
Dec 17 PHP
php中输出json对象的值(实现方法)
Mar 07 PHP
laravel邮件发送的实现代码示例
Jan 31 PHP
浅析PHP中json_encode与json_decode的区别
Jul 15 PHP
MacOS下PHP7.1升级到PHP7.4.15的方法
Feb 22 PHP
Array of country list in PHP with Zend Framework
Oct 17 #PHP
php环境配置之CGI、FastCGI、PHP-CGI、PHP-FPM、Spawn-FCGI比较?
Oct 17 #PHP
jQuery EasyUI API 中文文档 - DateBox日期框
Oct 15 #PHP
30 个很棒的PHP开源CMS内容管理系统小结
Oct 14 #PHP
比较简单实用的PHP无限分类源码分享(思路不错)
Oct 13 #PHP
php 错误处理经验分享
Oct 11 #PHP
php购物车实现代码
Oct 10 #PHP
You might like
PHP中通过ADO调用Access数据库的方法测试不通过
2006/12/31 PHP
PHP file_get_contents 函数超时的几种解决方法
2009/07/30 PHP
php 在文件指定行插入数据的代码
2010/05/08 PHP
php获取字段名示例分享
2014/03/03 PHP
安装ImageMagick出现error while loading shared libraries的解决方法
2014/09/23 PHP
php采集内容中带有图片地址的远程图片并保存的方法
2015/01/03 PHP
PHP实现操作redis的封装类完整实例
2015/11/14 PHP
laravel实现一个上传图片的接口,并建立软链接,访问图片的方法
2019/10/12 PHP
JavaScript 捕获窗口关闭事件
2009/07/26 Javascript
JavaScript中判断整字类型最简洁的实现方法
2014/11/08 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
浅析JavaScript回调函数应用
2016/05/22 Javascript
基于JQuery的购物车添加删除以及结算功能示例
2017/03/08 Javascript
微信小程序 下拉菜单的实现
2017/04/06 Javascript
基于滚动条位置判断的简单实例
2017/12/14 Javascript
react-native使用leanclound消息推送的方法
2018/08/06 Javascript
详解redux异步操作实践
2018/08/15 Javascript
说说如何使用Vuex进行状态管理(小结)
2019/04/14 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
简单讲解Python编程中namedtuple类的用法
2016/06/21 Python
Python 查看文件的读写权限方法
2018/01/23 Python
Python wxPython库Core组件BoxSizer用法示例
2018/09/03 Python
Python进阶之自定义对象实现切片功能
2019/01/07 Python
python pandas cumsum求累计次数的用法
2019/07/29 Python
Python实现AES加密,解密的两种方法
2020/10/03 Python
web页面录屏实现
2019/02/12 HTML / CSS
Athleta官网:购买女士瑜伽服、技术运动服和休闲运动服
2020/11/12 全球购物
化妆师职业生涯规划书
2014/02/16 职场文书
成绩单公证书
2014/04/10 职场文书
道德大讲堂实施方案
2014/05/14 职场文书
湖南省召开党的群众路线教育实践活动总结大会报告
2014/10/21 职场文书
山楂树之恋观后感
2015/06/11 职场文书
2016年记者节感言
2015/12/08 职场文书
Python数据分析入门之数据读取与存储
2021/05/13 Python
关于maven依赖 ${xxx.version}报错问题
2022/01/18 Java/Android
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL