>首页> IT >

php怎么实现文件写入不覆盖

时间:2022-04-15 20:14:41       来源:PHP中文网

本教程操作环境:windows7系统、PHP7.1版、DELL G3电脑

php怎么实现文件写入不覆盖

在php中,想要实现文件写入不覆盖,可以通过在文件末尾追加数据来实现。

PHP支持两种在文件末尾追加数据的方法:

使用file_put_contents()函数

使用fopen()和fwrite()函数

有一个名为“test.txt”的文本文件,里面的内容为:

来看看怎么向文件写入数据(不覆盖):

方法1:利用file_put_contents()函数追加数据

file_put_contents()函数可以将一个字符串写入到文件中,语法格式如下:

file_put_contents(string $filename, mixed $data[, int $flags = 0[, resource $context]])

参数说明如下:

$filename:要被写入数据的文件名;$data:要写入的数据,可以是字符串、一维数组或者资源等类型;$flags:可选参数,它的值可以是以下几种(可以使用| 运算符组合使用):FILE_USE_INCLUDE_PATH:在 include 目录里搜索 $filename。FILE_APPEND:如果文件 $filename 已经存在,追加数据而不是覆盖。LOCK_EX:在写入时获得一个独占锁。$context:可选参数,一个 context 资源。

将file_put_contents()函数的第三个参数设置为“FILE_APPEND”可追加数据而不是覆盖。

示例:

方法2:利用fopen()和fwrite()函数追加数据

关键代码分析:

fopen($filename, $mode)函数可以按照指定文件模式$mode打开一个文件。当$modea或者a+,设置在打开文件时,将文件指针指向文件末尾;这样进行写入操作时,数据会被追加到已有数据的后面。

fwrite()函数可以将一个字符串写入到打开的文件中,因此fwrite($handle, "https://www.php.cn/")语句的作用就是:将字符串“https://www.php.cn/”写入到已经打开的“test.txt”中。

写入完成后,使用fclose()函数来关闭文件。如果想要获取“test.txt”文件中的新内容,就使用readfile($file)函数直接获取。

推荐学习:《PHP视频教程》

以上就是php怎么实现文件写入不覆盖的详细内容,更多请关注php中文网其它相关文章!

关键词: 关闭文件 写入数据 输出文件