php fopen 追加,PHP文件写入或追加

php可以通过fopen或file_put_contents两种方法向文件里写入或追加数据,本文简要介绍一下两种方法的具体用法,有需要的朋友可以看看。

(1)fopen

fopen() 函数打开文件或者 URL,如果打开失败,本函数返回 FALSE。

语法:fopen(filename,mode,include_path,context)

filename  必需。规定要打开的文件或 URL。

mode   必需。规定要求到该文件/流的访问类型。可能的值见下表。

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

context   可选。规定文件句柄的环境。Context 是可以修改流的行为的一套选项。

mode 参数的可能的值

mode

说明

"r"

只读方式打开,将文件指针指向文件头。

"r+"

读写方式打开,将文件指针指向文件头。

"w"

写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

"w+"

读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。

"a"

写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

"a+"

读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

"x"

创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。

这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。

此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。

"x+"

创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则 fopen() 调用失败并返回 FALSE,并生成一条 E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。

这和给底层的 open(2) 系统调用指定 O_EXCL|O_CREAT 标记是等价的。

此选项被 PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。

以追加形式写入内容

$fp=fopen('test.txt','a');

fwrite($fp, 'www.codetc.com');

fclose($fp);

(2)file_put_contents

file_put_contents() 函数用于把字符串写入文件,成功返回写入到文件内数据的字节数,失败则返回 FALSE。

语法:int file_put_contents(string filename,string data[,int flags[,resource context]])

filename 要写入数据的文件名

data  要写入的数据。类型可以是 string,array(但不能为多维数组),或者是 stream 资源

flags  可选,规定如何打开/写入文件。可能的值:

FILE_USE_INCLUDE_PATH:检查 filename 副本的内置路径

FILE_APPEND:在文件末尾以追加的方式写入数据

LOCK_EX:对文件上锁

context  可选,Context是一组选项,可以通过它修改文本属性

例如:

echo file_put_contents("test.txt","www.codetc.com");

//输出:14

以追加形式写入内容

当设置 flags 参数值为 FILE_APPEND 时,表示在已有文件内容后面追加内容的方式写入新数据,例如:

file_put_contents("test.txt","www.codetc.com",FILE_APPEND);

提示

file_put_contents() 的行为实际上等同于依次调用 fopen(),fwrite() 以及 fclose() 函数。

如果文件不存在,则创建文件,相当于fopen()函数行为。

如果文件存在,默认将清空文件内的内容,可设置 flags 参数值为 FILE_APPEND 以避免。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值