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 相关文章推荐
实现了一个PHP5的getter/setter基类的代码
Feb 25 PHP
php多文件上传实现代码
Feb 20 PHP
php解析json数据实例
Aug 19 PHP
ThinkPHP中的三大自动简介
Aug 22 PHP
php生成随机颜色的方法
Nov 13 PHP
twig里使用js变量的方法
Feb 05 PHP
php实现在站点里面添加邮件发送的功能
Apr 28 PHP
php遍历解析xml字符串的方法
May 05 PHP
php+jquery+html实现点击不刷新加载更多的实例代码
Aug 12 PHP
Zend Framework实现自定义过滤器的方法
Dec 09 PHP
微信公众平台开发-微信服务器IP接口实例(含源码)
Mar 05 PHP
php 中self,this的区别和操作方法实例分析
Nov 04 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+AJAX实现无刷新注册(带用户名实时检测)
2006/12/02 PHP
基于PHP Web开发MVC框架的Smarty使用说明
2013/04/19 PHP
Zend Framework教程之Zend_Db_Table表关联实例详解
2016/03/23 PHP
php查询操作实现投票功能
2016/05/09 PHP
PHP实现根据数组某个键值大小进行排序的方法
2018/03/13 PHP
JSON PHP中,Json字符串反序列化成对象/数组的方法
2018/05/31 PHP
给Javascript数组插入一条记录的代码
2007/08/30 Javascript
jQuery阻止冒泡和HTML默认操作
2010/11/17 Javascript
javascript开发技术大全 第4章 直接量与字符集
2011/07/03 Javascript
JavaScript中的函数声明和函数表达式区别浅析
2015/03/27 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
JS+CSS实现大气清新的滑动菜单效果代码
2015/10/22 Javascript
Angular.js与Bootstrap相结合实现手风琴菜单代码
2016/04/13 Javascript
老生常谈 js中this的指向
2016/06/30 Javascript
JavaScript实现移动端页面按手机屏幕分辨率自动缩放的最强代码
2017/08/18 Javascript
[原创]js实现保存文本框内容为本地文件兼容IE,chrome,火狐浏览器
2018/02/14 Javascript
深入浅析Vue.js计算属性和侦听器
2018/05/05 Javascript
vue中实现动态生成二维码的方法
2020/02/21 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
python删除特定文件的方法
2015/07/30 Python
Python用UUID库生成唯一ID的方法示例
2016/12/15 Python
深入理解NumPy简明教程---数组1
2016/12/17 Python
python删除某个字符
2018/03/19 Python
Python实现合并两个列表的方法分析
2018/05/28 Python
python实现远程控制电脑
2019/05/23 Python
python 创建一维的0向量实例
2019/12/02 Python
python pptx复制指定页的ppt教程
2020/02/14 Python
Python多进程multiprocessing、进程池用法实例分析
2020/03/24 Python
英国拳击装备购物网站:RDX Sports
2018/01/23 全球购物
校优秀毕业生主要事迹
2014/05/26 职场文书
装饰公司活动策划方案
2014/08/23 职场文书
工程项目合作意向书
2015/05/08 职场文书
厉行节约工作总结
2015/08/12 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
把77A收信机改造成收音机
2022/04/05 无线电
Win11显卡控制面板打开显卡设置方法
2022/04/20 数码科技