PHP 内置函数 ​​file_put_contents​​ 用于写入文件。

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

file_put_contents(filepath,data)


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

你可以利用 ​​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​​ 。

如果你想在一个已有文件上追加内容,你也可以使用​​file_put_contents​​ 函数,只需要加一个参数即可。

file_put_contents(filepath,data,flags)


当 flags 的值为 ​​FILE_APPEND​​ 时,表示在已有文件上追加内容。

比如我们要在上面示例的​​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。