PHP file_put_contents新行问题

时间:2013-09-25 23:58:53

标签: php

我无法在新行中将数组写入文本文件。我的代码:

echo '<pre>';
print_r($final_result);
echo '</pre>';

输出

Array

(
    [0] => Something1
    [1] => Something2
    [2] => Something3
)

,然后

file_put_contents($file, trim($final_result . "\n"), FILE_APPEND);

输出

Something1Something2Something3Array

我的目标是

Something1
Something2
Something3

有什么想法吗? :)

3 个答案:

答案 0 :(得分:15)

怎么样

file_put_contents($file, implode(PHP_EOL, $final_result), FILE_APPEND);

答案 1 :(得分:2)

不同的平台使用不同的换行符。为了解决这个问题,php提供内置的常量来处理它们:PHP_EOL

答案 2 :(得分:1)

你的数组应该以这种方式在每个值之后插入一个新行

Array
  (
    [0] => Something1\n
    [1] => Something2\n
    [2] => Something3\n
  )

这样做:

file_put_contents($file, trim($final_result . "\n"), FILE_APPEND);

您在完整数组

之后插入一个新行

正如@NielsKeurentjes所说,你必须看到你正在编写文件的平台:

\ r = CR(回车)//用作Unix中的新行字符

\ n = LF(换行)//在Mac OS中用作换行符

\ r \ n = CR + LF //用作Windows中的新行字符