我本周开始学习PHP,需要在文本文件的每一行末尾添加一个逗号。我真的不知道从哪里开始。加载文件后我该怎么办?我找不到任何教程说如何写到每行的末尾只有文件的开头或结束?是否可以指定每一行的结尾?
到目前为止我所拥有的:
fopen("file.txt",a)
????
我正在使用“a”因为我想保留数据。
答案 0 :(得分:4)
这应该适合你:
(这里我只使用file()
获取所有文件行。然后我使用array_map()
遍历每一行并在结尾处连接逗号。之后我使用{保存带有新内容的文件{3}})
<?php
$lines = file("test.txt", FILE_IGNORE_NEW_LINES);
$lines = array_map(function($v){return $v . "," . PHP_EOL;}, $lines);
file_put_contents("test.txt", $lines);
?>
示例文件:
a
a
a
脚本之后:
a,
a,
a,
修改强>
如果您不想在空行中添加逗号,只需添加条件以检查该行是否为空:
<?php
$lines = file("test.txt", FILE_IGNORE_NEW_LINES);
$lines = array_map(function($v){return $v . (empty($v)?"":",") . PHP_EOL;}, $lines);
file_put_contents("test.txt", $lines);
?>
答案 1 :(得分:0)
你想用一些特定角色替换所有EOL吗?
$EOLChar=",";
$myFile = fopen("file.txt", "r") ;
$newFile="";
while(!feof($myFile)) {
$newFile.= str_replace(PHP_EOL, $EOLChar, fgets($myFile));
}
fclose($myFile);
file_put_contents("file.txt", $newFile);