快捷搜索:   服务器  PHP  安全  linux 安全  IIS

PHP使用内置函数file_put_contents覆盖写入文件及追加内容的方法

以下是PHP使用内置函数file_put_contents覆盖写入文件及追加内容的方法:

定义和用法

file_put_contents() 函数把一个字符串写入文件中。

与依次调用 fopen(),fwrite() 以及 fclose() 功能一样。

语法

file_put_contents(file,data,mode,context)

参数

file    必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。    

data    可选。规定要写入文件的数据。可以是字符串、数组或数据流。    

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

context    可选。规定文件句柄的环境。context 是一套可以修改流的行为的选项。若使用 null,则忽略。

   

说明

参数 data 可以是数组(但不能是多维数组)。

自 PHP 5.1.0 起,data 参数也可以被指定为 stream 资源,stream 中所保存的缓存数据将被写入到指定文件中,这种用法就相似于使用 stream_copy_to_stream() 函数。

对 context 参数的支持是 PHP 5.0.0 添加的。


file_put_contents 函数最简单的写法,可以只用两个参数,一个是文件路径,一个是要写入的内容,语法如下:

file_put_contents(filepath,data)

如果文件不存在,file_put_contents 函数会自动创建文件;如果文件已存在,原有文件被覆盖重写。


1、以覆盖形式写入内容

当设置 flags 参数值不设置时,表示在已有文件内容清空后再写入新数据(覆盖原有内容):

代码如下:

<?php
file_put_contents("test.txt", "This is another something.");
?>

file_put_contents() 的行为实际上等于依次调用 fopen(),fwrite() 以及 fclose() 功能一样。


2、以追加形式写入内容

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

代码如下:

<?php
file_put_contents("test.txt", "This is another something.", FILE_APPEND);
?>

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

可选参数:FILE_APPEND:在文件末尾以追加的方式写入数据,LOCK_EX:对文件上锁




你可以利用 file_put_contents 函数创建并写入一个新文件,或者重写一个原有文件。
下面是一个使用 file_put_contents 函数的 PHP 代码示例:

<html>
<body>
<?php
$path ="C:\\blabla\\filesys\\one.txt";
$content = "one for all";
file_put_contents($path,$content);
if (file_exists($path))
 {echo "ok";}
else
 {echo "ng";}
?>
</body>
</html>

该 PHP 代码示例会创建一个路径为 C:\blabla\filesys\one.txt 的文件,该文件的内容是 one for all 。


一个追加数据的案例

比如我们要在上面示例的C:\blabla\filesys\one.txt 文件上追加内容,我们可以这样写:

<html>
<body>
<?php
$path ="C:\\blabla\\filesys\\one.txt";
$content = " all for one";
file_put_contents($path,$content,FILE_APPEND);
if (file_exists($path))
{echo "ok";}
else
{echo "ng";}
?>
</body>
</html>

执行该 PHP 文件之后,我们再看 C:\blabla\filesys\one.txt 文件,发现文件内容增加了,变成了:

one for all all for one

file_put_contents 函数返回写入文件的字节数 (number of bytes) ,如果出错,返回 FALSE。


顶(1)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论