当人们创建网站时,数据通常存储在数据库中。然而,有时我们需要将数据存储在文件中,以便人们以后更容易阅读或修改。
PHP 附带了许多用于读取文件数据和向文件写入数据的函数。我们还可以使用其中一些将数据附加到文件中。在本教程中,您将学习使用 PHP 将数据附加到文件的两种不同方法。
了解 file_put_contents()
函数
file_put_contents() 函数是使用 PHP 将数据写入文件的最简单方法之一。它接受四个不同的参数来确定其行为。这些参数是:
-
filename
:我们要写入数据的文件位置的路径。 -
data
:指定要写入文件的数据。它通常是一个字符串,但您也可以指定一个数组或流资源。该函数将使用implode()
自动内爆一维数组的内容,以便将数据写入文件。 -
flags
:控制file_put_contents()
的行为。您可以在此处设置三个不同的标志,可以单独设置,也可以与其他标志组合设置。可以使用|
运算符组合不同的标志。 -
context
:仅在您读取或访问流中的内容时向 PHP 提供附加数据时有用。
使用 file_put_contents()
将数据附加到 PHP 文件
file_put_contents()
函数的默认行为是用您提供的任何新数据覆盖给定文件的内容。当您想要保留旧数据并添加一些新数据时,这是不可取的。在这种情况下,您可以使用 FILE_APPEND
标志让 PHP 知道它应该将数据附加到文件中最初存在的内容的末尾。
在某些特殊情况下,您可能会同时从多个脚本将数据附加到一个文件。在这些情况下,建议使用 LOCK_EX
标志获得文件的独占锁定。这有助于防止数据损坏或其他一些意外行为。当您使用此标志时,其他脚本将等待当前进程完成对文件的写入,然后再追加自己的数据。
这是一个示例,其中使用 file_put_contents()
将一些文本附加到现有文件。