PHP 中如何在同一个文件中写入而不覆盖以前写的内容

2025-04-14 08:23:48
推荐回答(2个)
回答1:

以a方式打开文件可以在文件的末尾写入内容,例如下面的代码在文件的a.txt的末尾添加123:

    $fp=fopem("a.txt","a");
    fputs($fp,"123");
    fclose($fp);
?>

其它打开方式的说明:

'r'    只读方式打开,将文件指针指向文件头。           

'r+'    读写方式打开,将文件指针指向文件头。           

'w'    写入方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。           

'w+'    读写方式打开,将文件指针指向文件头并将文件大小截为零。如果文件不存在则尝试创建之。           

'a'    写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。           

'a+'    读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。           

'x'    创建并以写入方式打开,将文件指针指向文件头。如果文件已存在,则        fopen() 调用失败并返回 FALSE,并生成一条        E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给        底层的 open(2) 系统调用指定        O_EXCL|O_CREAT 标记是等价的。此选项被         PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。           

'x+'    创建并以读写方式打开,将文件指针指向文件头。如果文件已存在,则        fopen() 调用失败并返回 FALSE,并生成一条        E_WARNING 级别的错误信息。如果文件不存在则尝试创建之。这和给        底层的 open(2) 系统调用指定        O_EXCL|O_CREAT 标记是等价的。此选项被        PHP 4.3.2 以及以后的版本所支持,仅能用于本地文件。           

回答2:

    $fp=fopen("a.txt","a");
    fputs($fp,"123");
    fclose($fp);
?>