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+XML 制作简单的留言本 图文教程
Nov 02 PHP
在VS2008中编译MYSQL5.1.48的方法
Jul 03 PHP
PHP爆绝对路径方法收集整理
Sep 17 PHP
PHP批量检测并去除文件BOM头代码实例
May 08 PHP
PHP命名空间(namespace)的动态访问及使用技巧
Aug 18 PHP
8个必备的PHP功能开发
Oct 02 PHP
3种php生成唯一id的方法
Nov 23 PHP
PHPExcel简单读取excel文件示例
May 26 PHP
在Thinkphp中使用ajax实现无刷新分页的方法
Oct 25 PHP
PHP类与对象后期静态绑定操作实例详解
Dec 20 PHP
PHP后台备份MySQL数据库的源码实例
Mar 18 PHP
PHP cookie与session会话基本用法实例分析
Nov 18 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即时捕捉PHP中的错误并发送email通知的实现代码
2013/01/19 PHP
php查找字符串出现次数的方法
2014/12/01 PHP
Yii视图CGridView实现操作按钮定义地址示例
2016/07/14 PHP
PHP 文件锁与进程锁的使用示例
2017/08/07 PHP
jQuery开发者都需要知道的5个小技巧
2010/01/08 Javascript
js实现杯子倒水问题自动求解程序
2013/03/25 Javascript
无闪烁更新网页内容JS实现
2013/12/19 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
JS实现统计复选框选中个数并提示确定与取消的方法
2015/07/01 Javascript
使用PBFunc在Powerbuilder中支付宝当面付款功能
2016/10/01 Javascript
javascript中的后退和刷新实现方法
2016/11/10 Javascript
jQuery弹出div层过2秒自动消失
2016/11/29 Javascript
微信小程序 解决请求服务器手机预览请求不到数据的方法
2017/01/04 Javascript
Angular.js实现多个checkbox只能选择一个的方法示例
2017/02/24 Javascript
vue-cli中的babel配置文件.babelrc实例详解
2018/02/22 Javascript
vue移动端UI框架实现QQ侧边菜单组件
2018/03/09 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
webpack 最佳配置指北(推荐)
2020/01/07 Javascript
[02:21]DOTA2英雄基础教程 蝙蝠骑士
2013/12/16 DOTA
[03:07]【DOTA2亚洲邀请赛】我们,梦开始的地方
2017/03/07 DOTA
[42:20]Winstrike vs VGJ.S 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
python调用windows api锁定计算机示例
2014/04/17 Python
对于Python的Django框架部署的一些建议
2015/04/09 Python
python使用str &amp; repr转换字符串
2016/10/13 Python
Python实现修改IE注册表功能示例
2018/05/10 Python
python 缺失值处理的方法(Imputation)
2019/07/02 Python
python使用 cx_Oracle 模块进行查询操作示例
2019/11/28 Python
python路径的写法及目录的获取方式
2019/12/26 Python
python如何变换环境
2020/07/21 Python
html5+css3实现一款注册表单实例
2013/04/17 HTML / CSS
学习党的群众路线实践活动思想汇报
2014/09/12 职场文书
2014年技术工作总结范文
2014/11/20 职场文书
公积金具结保证书
2015/05/11 职场文书
django 认证类配置实现
2021/11/11 Python
Redis 报错 error:NOAUTH Authentication required
2022/05/15 Redis
baselines示例程序train_cartpole.py的ImportError
2022/05/20 Python