5

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

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

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

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

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

4

3 回答 3

59

您可以简单地使用 implode 将其写回:

file_put_contents('file.csv', implode(PHP_EOL, $data));
于 2012-08-14T16:51:50.147 回答
1

试试这个:

$data = explode("\n", $_GET['TxtareaInput']);
foreach($data as $value){
    fwrite($ourFileHandle, $value.PHP_EOL);
}
于 2012-08-14T16:56:07.927 回答
1

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

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

只保留这一行:

fwrite($ourFileHandle, $data);

它将在收到您的数据时将其写入文件。

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

    fwrite($ourFileHandle, str_replace("\n", "\r", $data));
于 2012-08-14T16:56:26.053 回答