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 相关文章推荐
PHP 类型转换函数intval
Jun 20 PHP
php下使用strpos需要注意 === 运算符
Jul 17 PHP
PHP下通过file_get_contents的代理使用方法
Feb 16 PHP
PHP中用hash实现的数组
Jul 17 PHP
php网站判断用户是否是手机访问的方法
Nov 01 PHP
ThinkPHP自动转义存储富文本编辑器内容导致读取出错的解决方法
Aug 08 PHP
php实现的css文件背景图片下载器代码
Nov 11 PHP
摘自织梦CMS的HTTP文件下载类
Aug 08 PHP
PHP导出Excel实例讲解
Jan 24 PHP
PHP图像识别技术原理与实现
Oct 27 PHP
PHP 500报错的快速解决方法
Dec 14 PHP
php web环境和命令行环境下查找php.ini的位置
Jul 17 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 编程的 5个良好习惯
2009/02/20 PHP
使用PHP实现二分查找算法代码分享
2011/06/24 PHP
yii框架builder、update、delete使用方法
2014/04/30 PHP
Yii入门教程之Yii安装及hello world
2014/11/25 PHP
分享下php5类中三种数据类型的区别
2015/01/26 PHP
php面向对象值单例模式
2016/05/03 PHP
PHP crc32()函数讲解
2019/02/14 PHP
解决php用mysql方式连接数据库出现Deprecated报错问题
2019/12/25 PHP
tp5框架基于Ajax实现列表无刷新排序功能示例
2020/02/10 PHP
javascript 无提示关闭窗口脚本
2009/08/17 Javascript
vue中渐进过渡效果实现
2016/10/27 Javascript
微信小程序返回多级页面的实现方法
2017/10/27 Javascript
详解利用Angular实现多团队模块化SPA开发框架
2017/11/27 Javascript
angular写一个列表的选择全选交互组件的示例
2018/01/22 Javascript
使用Vue实现图片上传的三种方式
2018/07/17 Javascript
在小程序中集成redux/immutable/thunk第三方库的方法
2018/08/12 Javascript
Android 自定义view仿微信相机单击拍照长按录视频按钮
2019/07/19 Javascript
详解JavaScript 浮点数运算的精度问题
2019/07/23 Javascript
Vue router传递参数并解决刷新页面参数丢失问题
2020/12/02 Vue.js
python实现实时监控文件的方法
2016/08/26 Python
深入浅出分析Python装饰器用法
2017/07/28 Python
Python入门必须知道的11个知识点
2018/03/21 Python
dataframe设置两个条件取值的实例
2018/04/12 Python
Python八大常见排序算法定义、实现及时间消耗效率分析
2018/04/27 Python
Python基于多线程实现抓取数据存入数据库的方法
2018/06/22 Python
Django框架用户注销功能实现方法分析
2019/05/28 Python
Python shutil模块用法实例分析
2019/10/02 Python
python模块hashlib(加密服务)知识点讲解
2019/11/25 Python
Python安装OpenCV的示例代码
2020/03/05 Python
美国知名的旅游网站:OneTravel
2018/10/09 全球购物
大二自我鉴定
2014/01/31 职场文书
缓刑人员思想汇报500字
2014/09/12 职场文书
幼儿园教师节感谢信
2015/01/23 职场文书
2016年万圣节活动总结
2016/04/05 职场文书
python实现三次密码验证的示例
2021/04/29 Python
Windows Server 2012 R2 磁盘分区教程
2022/04/29 Servers