PHP文件读写操作之文件写入代码


Posted in PHP onJanuary 13, 2011

在PHP网站开发中,存储数据通常有两种方式,一种以文本文件方式存储,比如txt文件,一种是以数据库方式存储,比如Mysql,相对于数据库存储,文件存储并没有什么优势,但是文件读写操作在基本的PHP开发中还是时有使用,今天和大家分享如何利用PHP技术实现文件读写之文件写入操作教程,也算是对PHP文件读写操作的入门学习。

将数据写入文件的操作主要涉及三个步骤及部分文件操作函数如下:

1、打开文件(文件操作函数:fopen)

2、写入文件(文件操作函数:fwrite等)

3、关闭文件(文件操作函数:fclose)

下面通过文件读写操作代码实例教程来讲解

基本的PHP文件写入操作函数fopen、fwrite、fclose应用教程

<? 
@$fp = fopen("leapsoulcn.txt","w"); 
if(!$fp){ 
echo "system error"; 
exit(); 
}else { 
$fileData = "domain"."\t"."www.leapsoul.cn"."\n"; 
$fileData = $fileData."description"."\t"."PHP网站开发教程网,面向PHP初学者的PHP教程网。"."\n"; 
$fileData = $fileData."title"."\t"."本文主要讲述PHP文件读写操作中最基本的文件写入教程。"; 
fwrite($fp,$fileData); 
fclose($fp); 
} 
?>

注释:在这段文件读写操作实例代码中,主要功能是在文件写入两行文字。
知识点:

1、使用fopen函数打开文件,在应用fopen函数准备打开文件时,你首先需要明确:

打开文件干什么?是读文件中的数据呢,还是将数据写入文件,亦或者读写文件?

另外你需要考虑如果文件中已经存在相关数据,你是覆盖原有文件中的数据呢,还是仅仅将新数据添加至文件末尾

这些问题涉及到PHP文件读写操作中的fopen函数中的文件模式的应用,fopen函数原型如下:

fopen(filename,mode,include_path,context)

调用文件操作函数fopen()时,通常需要传递两个或三个参数。

filename:规定要打开的文件或URL。可以指定文件的绝对路径,Windows一般为C:\,Unix为/,通过URL,你也可以打开远程文件。在这里写入的文件与PHP文件写入代码文件我放在同一个目录。

mode:规定要求到该文件/流的访问类型。即打开文件的模式。

include_path:可选项。如果需要在include_path中搜索文件的话,可以将该参数设为1或TRUE。

常用的fopen的文件操作模式说明

”r” - 以只读方式打开文件,从文件头开始读。

”r+” - 以读写方式打开文件。

”w” - 以写入方式打开文件,从文件头开始写。如果文件不存在则尝试创建,如果文件存在,则先删除文件中的内容。

”w+” - 以读写方式打开文件,从文件头开始读写。如果文件不存在则尝试创建,如果文件存在,则先删除文件中的内容。

”a” - 以写入方式打开,从文件末尾开始追加写。如果文件不存在则尝试创建。

”a+” - 以读写方式打开,从文件末尾开始追加写写或者读。如果文件不存在则尝试创建。

注意:在进行文件读写操作时,你一定要确保打开的文件具有相应的读写权限,否则fopen会报错。你可以使用@来抑制产生的错误,然后合理处理错误。

2、在使用文件操作函数fopen打开文件后,需要通过对变量赋值,然后写到$fp指向的文件指针中去,在上述PHP文件写入操作教程实例中,我使用的是一行一行存储,即换行储存,主要通过\n作为换行分隔符。

fwrite文件写入函数原型如下:

fwrite(fp,string,length)

在这里你也可以使用文件写入函数fputs,其是fwrite的别名函数,功能与用法与fwrite一样。

在文件写入函数fwrite中length是可选项,主要用来设定写入文件的最大字符数,如果设定了这个参数,fwrite会按设定的length,在指定文件中写入规定长度的字符。fwrite()返回写入文件的字符数,出现错误时则返回false。

在文件写入操作完成后,需要关闭文件句柄,否则会占用系统资源等。可以使用fclose($fp)函数来完成这件事。文件关闭成功则返回true,否则返回false。

至此文件写入操作就完成了。

以上是PHP文件读写操作教程之文件写入操作的最基本应用,除了文件写入操作,在PHP网站开发中经常需要读取相关的文件内容,文件读写操作函数中可以使用不同的函数实现对文件的读操作。下次将分下如何读取文件。

PHP 相关文章推荐
配置最新的PHP加MYSQL服务器
Oct 09 PHP
PHP $_SERVER详解
Jan 16 PHP
php array_map()数组函数使用说明
Jul 12 PHP
两种设置php载入页面时编码的方法
Jul 29 PHP
php中数字、字符与对象判断函数用法实例
Nov 26 PHP
PHP使用mkdir创建多级目录的方法
Dec 22 PHP
php生成酷炫的四个字符验证码
Apr 22 PHP
PHP pear安装配置教程
May 14 PHP
php连接MSsql server的五种方法总结
Mar 04 PHP
PHP编程实现的TCP服务端和客户端功能示例
Apr 13 PHP
PHP7基于curl实现的上传图片功能
May 11 PHP
Laravel实现ApiToken认证请求
Oct 14 PHP
PHP文件读写操作之文件读取方法详解
Jan 13 #PHP
PHP目录函数实现创建、读取目录教程实例
Jan 13 #PHP
PHP开发规范手册之PHP代码规范详解
Jan 13 #PHP
PHP JSON格式数据交互实例代码详解
Jan 13 #PHP
PHP学习笔记之二 php入门知识
Jan 12 #PHP
php算开始时间到过期时间的相隔的天数
Jan 12 #PHP
php数据库密码的找回的步骤
Jan 12 #PHP
You might like
php数组函数序列之array_search()- 按元素值返回键名
2011/11/04 PHP
一漂亮的PHP图片验证码实例
2014/03/21 PHP
jQuery教程 $()包装函数来实现数组元素分页效果
2013/08/13 Javascript
Javascript 实现复制(Copy)动作方法大全
2014/06/20 Javascript
jQuery子窗体取得父窗体元素的方法
2015/05/11 Javascript
jquery 全选、全不选、反选效果的实现代码【推荐】
2016/05/05 Javascript
jQuery判断是否存在滚动条的简单方法
2016/09/17 Javascript
JavaScript实现清空(重置)文件类型INPUT元素值的方法
2016/11/17 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
2017/01/04 Javascript
bootstrap 下拉多选框进行多选传值问题代码分析
2017/02/14 Javascript
Angular2使用jQuery的方法教程
2017/05/28 jQuery
基于jstree使用AJAX请求获取数据形成树
2017/08/29 Javascript
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
Vue-drag-resize 拖拽缩放插件的使用(简单示例)
2019/12/04 Javascript
js 动态校验开始结束时间的实现代码
2020/05/25 Javascript
ES6 Generator基本使用方法示例
2020/06/06 Javascript
Python利用Beautiful Soup模块创建对象详解
2017/03/27 Python
浅谈flask截获所有访问及before/after_request修饰器
2018/01/18 Python
mac PyCharm添加Python解释器及添加package路径的方法
2018/10/29 Python
Python for循环及基础用法详解
2019/11/08 Python
python基于plotly实现画饼状图代码实例
2019/12/16 Python
Python3.9又更新了:dict内置新功能
2020/02/28 Python
Python使用Numpy模块读取文件并绘制图片
2020/05/13 Python
完美解决jupyter由于无法import新包的问题
2020/05/26 Python
利用CSS3实现动态的二级三级菜单效果实例源码
2017/01/04 HTML / CSS
HTML5 Web 存储详解
2016/09/16 HTML / CSS
国际会议邀请函范文
2014/01/16 职场文书
驾驶员岗位职责
2014/01/29 职场文书
警察先进个人事迹材料
2014/05/16 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
党员剖析材料范文
2014/12/18 职场文书
幼儿园大班开学寄语(2015秋季)
2015/05/27 职场文书
校园运动会广播稿
2015/08/19 职场文书
学生会主席任命书
2015/09/21 职场文书
详解运行Python的神器Jupyter Notebook
2021/06/03 Python