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 a simple smtp class
Nov 26 PHP
PHP 基于Yii框架中使用smarty模板的方法详解
Jun 13 PHP
php数组去重复数据示例
Feb 25 PHP
php中出现空白页的原因及解决方法汇总
Jul 08 PHP
跟我学Laravel之请求与输入
Oct 15 PHP
PHP准确取得服务器IP地址的方法
Jun 02 PHP
PHP+Mysql+jQuery实现发布微博程序 php篇
Oct 15 PHP
crontab无法执行php的解决方法
Jan 25 PHP
Yii数据库缓存实例分析
Mar 29 PHP
php set_include_path函数设置 include_path 配置选项
Oct 30 PHP
创建无限极分类树型结构的简单方法
Jun 20 PHP
PHP-FPM 的管理和配置详解
Feb 17 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
关于文本留言本的分页代码
2006/10/09 PHP
php 保留小数点
2009/04/21 PHP
php之XML转数组函数的详解
2013/06/07 PHP
PHP实现仿百度文库,豆丁在线文档效果(word,excel,ppt转flash)
2016/03/10 PHP
Laravel 5.4.36中session没有保存成功问题的解决
2018/02/19 PHP
原生javascript和jquery判断浏览器版本等信息
2013/07/04 Javascript
购物车选中得到价格实现示例
2014/01/26 Javascript
window.onload追加函数使用示例
2014/03/03 Javascript
nodejs实现黑名单中间件设计
2014/06/17 NodeJs
基于jQuery实现表单提交验证
2014/11/24 Javascript
DOM基础教程之模型中的模型节点
2015/01/19 Javascript
jquery中radio checked问题
2015/03/16 Javascript
js实现横向伸展开的二级导航菜单代码
2015/08/28 Javascript
Bootstrap php制作动态分页标签
2016/12/23 Javascript
node.JS md5加密中文与php结果不一致的解决方法
2017/05/05 Javascript
shiro授权的实现原理
2017/09/21 Javascript
微信小程序倒计时功能实现代码
2017/11/09 Javascript
详解vue axios用post提交的数据格式
2018/08/07 Javascript
vue router总结 $router和$route及router与 router与route区别
2019/07/05 Javascript
JavaScript实现简单计算器功能
2019/12/19 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
python中反射用法实例
2015/03/27 Python
Python学习笔记整理3之输入输出、python eval函数
2015/12/14 Python
python3+PyQt5+Qt Designer实现堆叠窗口部件
2018/04/20 Python
python操作mysql代码总结
2018/06/01 Python
anaconda如何查看并管理python环境
2019/07/05 Python
Python函数式编程指南:对生成器全面讲解
2019/11/19 Python
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
环境工程毕业生自荐信
2013/11/17 职场文书
质检部经理岗位职责
2014/02/19 职场文书
2015年党员个人剖析材料
2014/12/18 职场文书
2015年城管个人工作总结
2015/05/15 职场文书
博物馆观后感
2015/06/05 职场文书
天那边观后感
2015/06/09 职场文书
Go语言实现Base64、Base58编码与解码
2021/07/26 Golang
SQL实现LeetCode(197.上升温度)
2021/08/07 MySQL