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

时间:2016-08-09 02:49:55

标签: php fwrite

如何在不删除文件的所有其他内容的情况下为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

3 个答案:

答案 0 :(得分:4)

您已将其设置为使用选项w进行写入,该选项会删除数据。

你需要&#34;追加&#34;像这样的数据:

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

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

答案 1 :(得分:3)

简单地:

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

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

如果您的新行无效,问题在于您的$newLine变量,而不是文件追加操作。以下之一将起作用:

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

答案 2 :(得分:2)

要向文件添加新行并将其追加,请执行以下操作

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

PHP_EOL会在文件中添加一个新行