方法:1、用“file_put_contents(文件名,'数据',FILE_APPEND)”;2、用“fwrite(fopen(文件名,'a'),'数据')”,fopen()可以追加模式打开文件,fwrite()可在打开的文件中写入数据。
本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑
在PHP中,想要实现文件写入不覆盖,可以通过在文件末尾追加数据来实现。
来看看怎么向文件写入数据(不覆盖):
方法1:利用file_put_contents()函数追加数据
file_put_contents()函数可以将一个字符串写入到文件中,语法格式如下:
file_put_contents(string $filename, mixed $data[, int $flags = 0[, resource $context]])
参数说明如下:
- $filename:要被写入数据的文件名;
- $data:要写入的数据,可以是字符串、一维数组或者资源等类型;
- $flags:可选参数,它的值可以是以下几种(可以使用
|
运算符组合使用): - $context:可选参数,一个 context 资源。
将file_put_contents()函数的第三个参数设置为“FILE_APPEND
”可追加数据而不是覆盖。
示例:
<?PHP header(Content-Type: text/html;charset=utf-8); //设置字符编码 $file = test.txt; file_put_contents($file, '欢迎来到编程之家!33',FILE_APPEND); //写入内容 readfile($file); //读取并输出文件全部内容 ?>
<?PHP header(Content-Type: text/html;charset=utf-8); //设置字符编码 $file = test.txt; $handle = fopen($file, 'a'); //以追加写入的模式打开文件 fwrite($handle, '/'); //写入内容 fclose($handle);//关闭文件 readfile($file); //读取并输出文件全部内容 ?>
关键代码分析:
fopen($filename, $mode)
函数可以按照指定文件模式$mode
打开一个文件。当$mode
为a
或者a+
,设置在打开文件时,将文件指针指向文件末尾;这样进行写入操作时,数据会被追加到已有数据的后面。fwrite()
函数可以将一个字符串写入到打开的文件中,因此fwrite($handle, '/')
语句的作用就是:将字符串“/”写入到已经打开的“test.txt”中。写入完成后,使用fclose()函数来关闭文件。如果想要获取“test.txt”文件中的新内容,就使用
readfile($file)
函数直接获取。
推荐学习:《PHP教程》
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。