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 相关文章推荐
使用 php4 加速 web 传输
Oct 09 PHP
xml在joomla表单中的应用详解分享
Jul 19 PHP
php class中public,private,protected的区别以及实例分析
Jun 18 PHP
关于php 接口问题(php接口主要也就是运用curl,curl函数)
Jul 01 PHP
PHP生成不同颜色、不同大小的tag标签函数
Sep 23 PHP
php实现异步数据调用的方法
Dec 24 PHP
thinkPHP实现将excel导入到数据库中的方法
Apr 22 PHP
php中的异常和错误浅析
May 03 PHP
PHP+AjaxForm异步带进度条上传文件实例代码
Aug 14 PHP
Laravel 加载第三方类库的方法
Apr 20 PHP
PHP基于面向对象封装的分页类示例
Mar 15 PHP
PHP+MySql实现一个简单的留言板
Jul 19 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
深入掌握include_once与require_once的区别
2013/06/17 PHP
解析PHP无限级分类方法及代码
2013/06/21 PHP
php将字符串转化成date存入数据库的两种方式
2014/04/28 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
Laravel中unique和exists验证规则的优化详解
2018/01/28 PHP
php经典趣味算法实例代码
2020/01/21 PHP
对象的类型:本地对象(1)
2006/12/29 Javascript
js 图片缩放(按比例)控制代码
2009/05/27 Javascript
GridView中获取被点击行中的DropDownList和TextBox中的值
2013/07/18 Javascript
js 动态为textbox添加下拉框数据源的方法
2014/04/24 Javascript
jQuery动态修改超链接地址的方法
2015/02/13 Javascript
js实现鼠标悬停图片上时滚动文字说明的方法
2015/02/17 Javascript
使用纯javascript实现放大镜效果
2015/03/18 Javascript
jquery实现触发时更新下拉列表内容的方法
2015/12/02 Javascript
JS+Canvas 实现下雨下雪效果
2016/05/18 Javascript
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
2017/03/02 Javascript
微信小程序 连续旋转动画(this.animation.rotate)详解
2017/04/07 Javascript
vue父组件点击触发子组件事件的实例讲解
2018/02/08 Javascript
解决bootstrap-select 动态加载数据不显示的问题
2018/08/10 Javascript
新手如何快速理解js异步编程
2019/06/24 Javascript
element ui分页多选,翻页记忆的实例
2019/09/03 Javascript
es6中reduce的基本使用方法
2019/09/10 Javascript
VUE 单页面使用 echart 窗口变化时的用法
2020/07/30 Javascript
JS+css3实现幻灯片轮播图
2020/08/14 Javascript
使用vant的地域控件追加全部选项
2020/11/03 Javascript
python控制台中实现进度条功能
2015/11/10 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
python分数表示方式和写法
2019/06/26 Python
Python的几种主动结束程序方式
2019/11/22 Python
python 实现list或string按指定分段
2019/12/25 Python
python实现定时发送邮件到指定邮箱
2020/12/23 Python
村委会贫困证明
2014/01/14 职场文书
学生检讨书如何写
2014/10/30 职场文书
python自动化八大定位元素讲解
2021/07/09 Python
深入解读Java三大集合之map list set的用法
2021/11/11 Java/Android
Rust 连接 PostgreSQL 数据库的详细过程
2022/01/22 PostgreSQL