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数据库抽象层 PDO
May 07 PHP
PHP函数preg_match_all正则表达式的基本使用详细解析
Aug 31 PHP
destoon在360浏览器下出现用户被强行注销的解决方法
Jun 26 PHP
php实现概率性随机抽奖代码
Jan 02 PHP
PHP中抽象类和抽象方法概念与用法分析
May 24 PHP
PHP isset()与empty()的使用区别详解
Feb 10 PHP
php lcg_value与mt_rand生成0~1随机小数的效果对比分析
Apr 05 PHP
PHP迭代与递归实现无限级分类
Aug 28 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
Feb 06 PHP
Laravel5框架添加自定义辅助函数的方法
Aug 01 PHP
PHP安装BCMath扩展的方法
Feb 13 PHP
PHP大文件切割上传功能实例分析
Jul 01 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 Memcached + APC + 文件缓存封装实现代码
2010/03/11 PHP
PHP中foreach循环中使用引用要注意的地方
2011/01/02 PHP
PHP变量的定义、可变变量、变量引用、销毁方法
2013/12/20 PHP
Linux中用PHP判断程序运行状态的2个方法
2014/05/04 PHP
微信获取用户地理位置信息的原理与步骤
2015/11/12 PHP
PHP中str_split()函数的用法讲解
2019/04/11 PHP
php 的多进程操作实践案例分析
2020/02/28 PHP
Js组件的一些写法
2010/09/10 Javascript
讲解JavaScript的Backbone.js框架的MVC结构设计理念
2016/02/14 Javascript
浅析Bootstrip的select控件绑定数据的问题
2016/05/10 Javascript
原生js实现可拖动的登录框效果
2017/01/21 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
axios 处理 302 状态码的解决方法
2018/04/10 Javascript
vue自定义filters过滤器
2018/04/26 Javascript
深入理解Vue Computed计算属性原理
2018/05/29 Javascript
JavaScript原型链与继承操作实例总结
2018/08/24 Javascript
JavaScript交换两个变量方法实例
2019/11/25 Javascript
vue 解决mintui弹窗弹起来,底部页面滚动bug问题
2020/11/12 Javascript
Python运算符重载用法实例分析
2015/06/01 Python
Python自定义进程池实例分析【生产者、消费者模型问题】
2016/09/19 Python
VSCode下配置python调试运行环境的方法
2018/04/06 Python
Django 视图层(view)的使用
2018/11/09 Python
Python3.5 Json与pickle实现数据序列化与反序列化操作示例
2019/04/29 Python
使用python将最新的测试报告以附件的形式发到指定邮箱
2019/09/20 Python
Python 转换RGB颜色值的示例代码
2019/10/13 Python
Python手绘可视化工具cutecharts使用实例
2019/12/05 Python
英国花园家具中心:Garden Furniture Centre
2017/08/24 全球购物
维珍澳洲航空官网:Virgin Australia
2017/09/08 全球购物
Tory Burch英国官方网站:美国时尚生活品牌
2017/12/06 全球购物
瑞士首家网上药店折扣店:McDrogerie
2020/12/22 全球购物
入职担保书怎么写
2014/05/12 职场文书
三严三实对照检查材料思想汇报
2014/09/28 职场文书
2016先进工作者事迹材料
2016/02/25 职场文书
MySQL触发器的使用
2021/05/24 MySQL
vue基于Teleport实现Modal组件
2021/05/31 Vue.js
解决IDEA翻译插件Translation报错更新TTK失败不能使用
2022/04/24 Python