在 PHP 中写入一个新文件并附加一个文件而不删除内容

Writing a new and appending a file in PHP without erasing contents

如何在 php 中向文件写入新行而不删除文件的所有其他内容?

<?php
if(isset($_POST['songName'])){

        $newLine = "\n";
        $songName = $_POST['songName'];
        $filename = fopen('song_name.txt', "wb");
        fwrite($filename, $songName.$newLine);
        fclose($filename);
    };

?>

这是文件的样子 Current view

这是应该的样子 Ideal View

您已将其设置为使用擦除数据的选项 w 进行写入。

您需要"append"这样的数据:

$filename = fopen('song_name.txt', "a");

有关所有选项作用的完整说明,请阅读 here

简单地说:

file_put_contents($filename,$songName.$newLine,FILE_APPEND);

负责打开、写入和关闭文件。如果需要,它甚至会创建文件! (see docs)

如果您的新行不起作用,则问题出在您的 $newLine 变量上,而不是文件追加操作。以下其中一项将起作用:

$newLine = PHP_EOL;  << or >>  $newLine = "\r\n";

要向文件添加新行并附加它,请执行以下操作

$songName = $_POST['songName'];
        $filename = fopen('song_name.txt', "a+");
        fwrite($filename, $songName.PHP_EOL);
        fclose($filename);

PHP_EOL 将在文件中添加新行