PHP 文件创建/写入

在本章中,我们将教您如何在服务器上创建和写入文件。

PHP 创建文件 - fopen()

fopen() 函数也用于创建文件。可能有点令人困惑,但在 PHP 中,使用与打开文件相同的函数来创建文件。

如果您在不存在的文件上使用 fopen(),并且该文件是打开以进行写入(w)或追加(a)的,那么它将创建该文件。

下面的例子创建了一个名为 "testfile.txt" 的新文件。该文件将在 PHP 代码所在的同一目录中创建:

实例

$myfile = fopen("testfile.txt", "w")

PHP 文件权限

如果您在尝试运行此代码时遇到错误,请检查您是否已授予您的 PHP 文件向硬盘写入信息的权限。

PHP 写入文件 - fwrite()

fwrite() 函数用于向文件写入。

fwrite() 的第一个参数包含要写入的文件的名称,第二个参数是要写入的字符串。

下面的例子将一些名字写入一个名为 "newfile.txt" 的新文件:

实例

<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "Bill Gates\n";
fwrite($myfile, $txt);
$txt = "Steve Jobs\n";
fwrite($myfile, $txt);
fclose($myfile);
?>

请注意,我们两次写入文件 "newfile.txt"。每次我们向文件写入时,我们都发送了字符串 $txt,该字符串首先包含 "Bill Gates",然后包含 "Steve Jobs"。完成写入后,我们使用 fclose() 函数关闭了文件。

如果我们打开 "newfile.txt" 文件,它将如下所示:

Bill Gates
Steve Jobs

PHP 覆盖

现在 "newfile.txt" 包含一些数据,我们可以展示当我们打开一个现有文件进行写入时会发生什么。所有现有数据都将被抹掉,我们将从一个空文件开始。

在下面的示例中,我们打开现有的 "newfile.txt" 文件,并向其中写入一些新数据:

实例

<?php
$myfile = fopen("newfile.txt", "w") or die("Unable to open file!");
$txt = "Mickey Mouse\n";
fwrite($myfile, $txt);
$txt = "Minnie Mouse\n";
fwrite($myfile, $txt);
fclose($myfile);
?>

如果我们现在打开 "newfile.txt" 文件,Bill 和 Steve 都消失了,只有我们刚刚写入的数据存在:

Mickey Mouse
Minnie Mouse

PHP 追加文本

您可以使用 "a" 模式将数据追加到文件中。"a" 模式将文本追加到文件的末尾,而 "w" 模式将覆盖(并擦除)文件的旧内容。

在下面的例子中,我们打开现有的 "newfile.txt" 文件,并向其中追加一些文本:

实例

<?php
$myfile = fopen("newfile.txt", "a") or die("Unable to open file!");
$txt = "Donald Duck\n";
fwrite($myfile, $txt);
$txt = "Goofy Goof\n";
fwrite($myfile, $txt);
fclose($myfile);
?>

如果我们现在打开 "newfile.txt" 文件,我们将看到 Donald Duck 和 Goofy Goof 被追加到文件的末尾:

Mickey Mouse
Minnie Mouse
Donald Duck
Goofy Goof

完整的 PHP 文件系统参考手册

如需获取文件系统函数的完整参考,请转到我们的完整 PHP 文件系统参考手册