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实现链结人气统计
Oct 09 PHP
用PHP ob_start()控制浏览器cache、生成html实现代码
Feb 16 PHP
php下使用iconv需要注意的问题
Nov 20 PHP
php控制linux服务器常用功能 关机 重启 开新站点等
Sep 05 PHP
通过dbi使用perl连接mysql数据库的方法
Apr 16 PHP
PHP和Shell实现检查SAMBA与NFS Server是否存在
Jan 07 PHP
php传值赋值和传地址赋值用法实例分析
Jun 20 PHP
thinkphp多层MVC用法分析
Dec 30 PHP
yii2 commands模式以及配置crontab定时任务的方法
Aug 19 PHP
PHP实现的AES双向加密解密功能示例【128位】
Sep 03 PHP
phpQuery采集网页实现代码实例
Apr 02 PHP
解决PhpStorm64不能启动的问题
Jun 20 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
mysq GBKl乱码
2006/11/28 PHP
PHP实现UTF-8文件BOM自动检测与移除实例
2014/11/05 PHP
WordPress中缩略图的使用以及相关技巧
2015/11/24 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
学习YUI.Ext 第七天--关于View&amp;JSONView
2007/03/10 Javascript
如何实现动态删除javascript函数
2007/05/27 Javascript
javascript 一些用法小结
2009/09/11 Javascript
浅析JavaScript中的CSS属性及命名规范
2013/11/28 Javascript
使用js实现关闭js弹出层的窗口
2014/02/10 Javascript
JS替换字符串中空格方法
2015/04/17 Javascript
nodejs修复ipa处理过的png图片
2016/02/17 NodeJs
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
浅谈JS继承_借用构造函数 &amp; 组合式继承
2016/08/16 Javascript
基于JavaScript实现窗口拖动效果
2017/01/18 Javascript
js中new一个对象的过程
2017/02/20 Javascript
微信小程序tabBar底部导航中文注解api详解
2017/08/16 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
2018/01/31 Javascript
angular 实现下拉列表组件的示例代码
2019/03/09 Javascript
Vue实现渲染数据后控制滚动条位置(推荐)
2019/12/09 Javascript
[02:37]TI8勇士令状不朽珍藏II视频展示
2018/06/23 DOTA
python链接oracle数据库以及数据库的增删改查实例
2018/01/30 Python
使用Python代码实现Linux中的ls遍历目录命令的实例代码
2019/09/07 Python
Python正则表达式学习小例子
2020/03/03 Python
python语言中有算法吗
2020/06/16 Python
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
波兰香水和化妆品购物网站:Notino.pl
2017/11/07 全球购物
奢华时尚的创新平台:Baltini
2020/10/03 全球购物
外贸主管求职简历的自我评价
2013/10/23 职场文书
八年级生物教学反思
2014/01/22 职场文书
彩色的非洲教学反思
2014/02/18 职场文书
服务标语口号
2014/07/01 职场文书
贷款收入证明格式
2015/06/24 职场文书
军训通讯稿范文
2015/07/18 职场文书
python实现简单反弹球游戏
2021/04/12 Python
详解MySQL 联合查询优化机制
2021/05/10 MySQL
SpringCloud项目如何解决log4j2漏洞
2022/04/10 Java/Android