如何在不删除文件的所有其他内容的情况下为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
答案 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会在文件中添加一个新行