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 相关文章推荐
ftp类(example.php)
Oct 09 PHP
高亮度显示php源代码
Oct 09 PHP
社区(php&amp;&amp;mysql)五
Oct 09 PHP
基于php缓存的详解
May 15 PHP
解析PHP自带的进位制之间的转换函数
Jun 08 PHP
PHP json_encode中文乱码问题的解决办法
Sep 09 PHP
一个完整的php文件上传类实例讲解
Oct 27 PHP
yii2实现分页,带搜索的分页功能示例
Jan 07 PHP
PHP基于Closure类创建匿名函数的方法详解
Aug 17 PHP
PHP __call()方法实现委托示例
May 20 PHP
php自定义排序uasort函数示例【二维数组按指定键值排序】
Jun 19 PHP
Laravel实现通过blade模板引擎渲染视图
Oct 25 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新手上路(五)
2006/10/09 PHP
PHP图像处理之使用imagecolorallocate()函数设置颜色例子
2014/11/19 PHP
smarty模板引擎中内建函数if、elseif和else的使用方法
2015/01/22 PHP
多浏览器兼容性比较好的复制到剪贴板的js代码
2011/10/09 Javascript
js多级树形弹出一个小窗口层(非常好用)实例代码
2013/03/19 Javascript
探讨在JQuery和Js中,如何让ajax执行完后再继续往下执行
2013/07/09 Javascript
解析JavaScript中delete操作符不能删除的对象
2013/12/03 Javascript
Javascript设置对象的ReadOnly属性(示例代码)
2013/12/25 Javascript
jquery实现拖拽调整Div大小
2015/01/30 Javascript
JavaScript中的立即执行函数表达式介绍
2015/03/15 Javascript
JS获取Table中td值的方法
2015/03/19 Javascript
Bootstrap入门书籍之(四)菜单、按钮及导航
2016/02/17 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
jquery获取table指定行和列的数据方法(当前选中行、列)
2016/11/07 Javascript
Angular客户端请求Rest服务跨域问题的解决方法
2017/09/19 Javascript
clipboard在vue中的使用的方法示例
2018/10/19 Javascript
Vue从TodoList中学父子组件通信
2019/02/05 Javascript
基于vue框架手写一个notify插件实现通知功能的方法
2019/03/31 Javascript
Vue中正确使用Element-UI组件的方法实例
2020/10/13 Javascript
[05:15]DOTA2英雄梦之声_第16期_灰烬之灵
2014/06/21 DOTA
python批量制作雷达图的实现方法
2016/07/26 Python
Flask框架实现给视图函数增加装饰器操作示例
2018/07/16 Python
Python中的单行、多行、中文注释方法
2018/07/19 Python
详解通过API管理或定制开发ECS实例
2018/09/30 Python
Python enumerate函数功能与用法示例
2019/03/01 Python
Python 实现数据结构中的的栈队列
2019/05/16 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
python numpy生成等差数列、等比数列的实例
2020/02/25 Python
Hobbs官方网站:英国奢华女性时尚服装
2020/02/22 全球购物
美国价格实惠的在线眼镜网站:Zeelool
2020/12/25 全球购物
跳槽求职信范文
2014/05/26 职场文书
2014大学生中国梦主题教育学习思想汇报
2014/09/10 职场文书
2014年大学教师工作总结
2014/12/02 职场文书
2015年读书月活动总结
2015/03/26 职场文书
文艺节目主持词
2015/07/06 职场文书
2016幼儿园中班开学寄语
2015/12/03 职场文书