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中使用foreach和引用导致程序BUG的问题介绍
Sep 05 PHP
php获取qq用户昵称和在线状态(实例分析)
Oct 27 PHP
php实现aes加密类分享
Feb 16 PHP
yii实现级联下拉菜单的方法
Jul 31 PHP
php常用的url处理函数总结
Nov 19 PHP
php类常量用法实例分析
Jul 09 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
php使用Header函数,PHP_AUTH_PW和PHP_AUTH_USER做用户验证
May 04 PHP
PHP Post获取不到非表单数据的问题解决办法
Feb 27 PHP
php中pcntl_fork创建子进程的方法实例
Mar 14 PHP
Smarty模板语法详解
Jul 20 PHP
Yii2框架中一些折磨人的坑
Dec 15 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判断字符以及字符串的包含方法属性
2008/08/30 PHP
php自定义函数之递归删除文件及目录
2010/08/08 PHP
PHP迭代器实现斐波纳契数列的函数
2013/11/12 PHP
浅谈使用 PHP 进行手机 APP 开发(API 接口开发)
2014/08/11 PHP
比较完整的微信开发php代码
2016/08/02 PHP
PHP 常用时间函数资料整理
2016/10/22 PHP
PHP读取Excel内的图片(phpspreadsheet和PHPExcel扩展库)
2019/11/19 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
2020/01/07 PHP
CSS+Jquery实现页面圆角框方法大全
2009/12/24 Javascript
javascript四舍五入函数代码分享(保留后几位)
2013/12/10 Javascript
JavaScript中的Web worker多线程API研究
2014/12/06 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
浅谈时钟的生成(js手写简洁代码)
2016/08/20 Javascript
jQuery实现鼠标跟随效果
2017/02/20 Javascript
ES6新特性之类(Class)和继承(Extends)相关概念与用法分析
2017/05/24 Javascript
微信小程序开发之toast提示插件使用示例
2017/06/08 Javascript
通过button将form表单的数据提交到action层的实例
2017/09/08 Javascript
vue-router相关基础知识及工作原理
2018/03/16 Javascript
Vue 实现树形视图数据功能
2018/05/07 Javascript
JavaScript JSON数据处理全集(小结)
2019/08/15 Javascript
解决vue项目input输入框双向绑定数据不实时生效问题
2020/08/05 Javascript
简单介绍Python中的JSON模块
2015/04/08 Python
python 列表删除所有指定元素的方法
2018/04/19 Python
Python 绘图库 Matplotlib 入门教程
2018/04/19 Python
python使用threading.Condition交替打印两个字符
2019/05/07 Python
使用python接入微信聊天机器人
2020/03/31 Python
手把手教你用Django执行原生SQL的方法
2021/02/18 Python
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
HTML5 拖放(Drag 和 Drop)详解与实例代码
2017/09/14 HTML / CSS
adidas菲律宾官网:adidas PH
2020/02/07 全球购物
程序员岗位职责
2013/11/11 职场文书
汽车销售员如何做职业生涯规划
2014/02/16 职场文书
村党支部书记承诺书
2014/05/29 职场文书
2015年教师学期工作总结
2015/04/30 职场文书
酒桌上的开场白
2015/06/01 职场文书
2015年酒店销售部工作总结
2015/07/24 职场文书