PHP 文件创建/写入
1. PHP 创建文件 - fopen()
fopen() 函数不仅用于打开文件,还可以用于创建文件。如果您尝试打开一个不存在的文件,且使用了允许创建文件的模式(如 w 或 a),PHP 就会自动创建该文件。
1.1 创建示例
下例将创建一个名为 "testfile.txt" 的新文件。该文件将在 PHP 代码所在的同一目录中创建:
代码示例:
<?php
$myfile = fopen("testfile.txt", "w");
?>2. PHP 权限说明
如果在尝试运行此代码时遇到错误,请检查您是否已授予 PHP 文件访问硬盘信息的权限。在 Linux/Unix 环境中,通常需要配置文件夹的写入权限(例如使用 chmod 命令)。
3. PHP 写入文件 - fwrite()
fwrite() 函数用于向文件中写入内容。
其第一个参数包含待写入文件的文件名(文件指针变量),第二个参数则是要写入的字符串。
3.1 写入示例
在下例中,我们将向名为 "newfile.txt" 的新文件中写入几行文本:
代码示例:
<?php
$myfile = fopen("newfile.txt", "w") or die("无法打开文件!");
$txt = "John Doe\n";
fwrite($myfile, $txt);
$txt = "Jane Doe\n";
fwrite($myfile, $txt);
fclose($myfile);
?>请注意,我们在每行末尾使用了 \n。这在文本文件中表示换行。
4. PHP 覆盖 (Overwriting)
既然 "newfile.txt" 已经包含了数据,我们可以演示当再次以写入模式打开该文件时会发生什么。所有已存在的数据都将被擦除,并以空文件开始。
4.1 覆盖行为演示
在下例中,我们打开现有的 "newfile.txt" 并写入新数据:
代码示例:
<?php
$myfile = fopen("newfile.txt", "w") or die("无法打开文件!");
$txt = "Mickey Mouse\n";
fwrite($myfile, $txt);
$txt = "Minnie Mouse\n";
fwrite($myfile, $txt);
fclose($myfile);
?>如果现在打开 "newfile.txt",John 和 Jane 都不见了,只剩下我们刚才写入的数据。
5. PHP 追加 (Appending)
如果您希望在文件末尾添加内容而不删除现有内容,可以使用 a 模式。
a 模式代表 Append(追加)。它会将文件指针定位在文件末尾,如果文件不存在,它同样会尝试创建一个新文件。
代码示例:
<?php
$myfile = fopen("newfile.txt", "a") or die("无法打开文件!");
$txt = "Donald Duck\n";
fwrite($myfile, $txt);
fclose($myfile);
?>执行后,"Donald Duck" 将被添加到文件内容的最后,而之前的 "Mickey Mouse" 等内容会被完整保留。