将文件内容放入数组并更新保持订单的数据

时间:2016-12-22 17:37:24

标签: php arrays

我有一个名为:test

的文件

在这个文件中,我们得到了如下字符串:

  • 苹果
  • 汽车

我希望能够在保持换行符的同时编辑数据:汽车。 如果我编辑数组[1]它会将它们全部推到一起!。

所以我想在最终保持文件顺序的同时将汽车改为喜欢面包车吗?然后我得到:

  • applesvans

我的代码:

$linesvol = file_get_contents('/srv/test');
$playlists = explode("\n", $linesvol);
$playlists[1] = "vans\n";
file_put_contents('/srv/test', implode($playlists));

2 个答案:

答案 0 :(得分:2)

您可以使用file()并保留行结尾:

$playlists = file('/srv/test');
$playlists[1] = "vans\n";
file_put_contents('/srv/test', implode($playlists));

或在行结尾发生内爆:

$playlists = file('/srv/test', FILE_IGNORE_NEW_LINES);
$playlists[1] = "vans";
file_put_contents('/srv/test', implode("\n", $playlists));

注意:如果您在某些Windows应用程序中查看此内容,则不会看到\n的换行符,您需要\r\n。显然,如果您在浏览器中查看,则需要nl2br()

答案 1 :(得分:2)

您想要将implode()更改为包含换行符。

更改自:

implode($playlists)

为:

implode("\n", $playlists)