将字符串数组写入由新行字符分隔的文本文件

时间:2012-08-14 16:46:03

标签: php html

我有一个PHP页面,它接受用户在文本区域中的输入。从用户&可以接受多个字符串作为输入。将包含'\ n',我将其扫描为:

$data = explode("\n", $_GET['TxtareaInput']);

应将每个字符串移动到文本文件中,并使用新的行字符分隔。这是我现在使用的代码,它用'^ M'字符分隔每个字符串:

foreach($data as $value){
    fwrite($ourFileHandle, $value);
}

无论如何,我可以得到每个字符串,然后回车吗?

3 个答案:

答案 0 :(得分:45)

你可以使用implode简单地写回来:

file_put_contents('file.csv', implode(PHP_EOL, $data));

答案 1 :(得分:1)

试试这个:

$data = explode("\n", $_GET['TxtareaInput']);
foreach($data as $value){
    fwrite($ourFileHandle, $value.PHP_EOL);
}

答案 2 :(得分:1)

如果您想添加新行,那么为什么要先删除它们?

$data = explode("\n", $_GET['TxtareaInput']);

只保留这一行:

fwrite($ourFileHandle, $data);

它会在收到文件时将数据写入文件。

如果要在写入文件之前通过回车替换所有新行,请使用以下代码:

    fwrite($ourFileHandle, str_replace("\n", "\r", $data));