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 相关文章推荐
使用bcompiler对PHP文件进行加密的代码
Aug 29 PHP
windows服务器中检测PHP SSL是否开启以及开启SSL的方法
Apr 25 PHP
php计算两个整数的最大公约数常用算法小结
Mar 05 PHP
WordPress主题制作之模板文件的引入方法
Dec 28 PHP
php连接oracle数据库的核心步骤
May 26 PHP
Yii2中cookie用法示例分析
Jul 18 PHP
Laravel5.1自定义500错误页面示例
Oct 09 PHP
PHP屏蔽关键字实现方法
Nov 17 PHP
PHP用mysql_insert_id()函数获得刚插入数据或当前发布文章的ID
Nov 25 PHP
thinkPHP框架实现多表查询的方法
Jun 14 PHP
PHP crc32()函数讲解
Feb 14 PHP
Yii框架 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 字符串加密函数(在指定时间内加密还原字符串,超时无法还原)
2010/04/28 PHP
具有时效性的php加密解密函数代码
2013/06/19 PHP
解析Linux下Varnish缓存的配置优化
2013/06/20 PHP
php跨域cookie共享使用方法
2014/02/20 PHP
php使用Jpgraph绘制3D饼状图的方法
2015/06/10 PHP
基于Web标准的UI组件 — 树状菜单(2)
2006/09/18 Javascript
javascript Demo模态窗口
2009/12/06 Javascript
如何判断鼠标是否在DIV的区域内
2013/11/13 Javascript
jQuery使用ajaxSubmit()提交表单示例
2014/04/04 Javascript
javascript多行字符串的简单实现方式
2015/05/04 Javascript
JavaScript中的setMilliseconds()方法使用详解
2015/06/11 Javascript
jQuery实现动态添加和删除一个div
2015/08/12 Javascript
AngularJS 日期格式化详解
2015/12/23 Javascript
早该知道的7个JavaScript技巧
2016/06/21 Javascript
JavaScript面试开发常用的知识点总结
2016/08/08 Javascript
Vue2实现组件props双向绑定
2016/12/02 Javascript
原生js实现放大镜特效
2017/03/08 Javascript
深入理解vue-loader如何使用
2017/06/06 Javascript
基于javaScript的this指向总结
2017/07/22 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
2018/08/25 Javascript
详解Angular5/Angular6项目如何添加热更新(HMR)功能
2018/10/10 Javascript
Vue一个案例引发的递归组件的使用详解
2018/11/15 Javascript
手把手教你 CKEDITOR 4 扩展插件制作
2019/06/18 Javascript
python3读取MySQL-Front的MYSQL密码
2017/05/03 Python
Python人脸识别初探
2017/12/21 Python
Python 实现文件打包、上传与校验的方法
2019/02/13 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
2020/01/25 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
html5.2 dialog简介详解
2018/02/27 HTML / CSS
Linux面试题LINUX系统类
2014/11/19 面试题
文职个人求职信范文
2013/09/23 职场文书
房地产财务部员工岗位职责
2014/03/12 职场文书
语文复习计划
2015/01/19 职场文书
三八红旗手主要事迹材料
2015/11/04 职场文书
预备党员入党思想汇报(范文)
2019/08/14 职场文书
教你部署vue项目到docker
2022/04/05 Vue.js