我的代码:

$i = 0;
$file = fopen('ids.txt', 'w');
foreach ($gemList as $gem)
{
    fwrite($file, $gem->getAttribute('id') . '\n');
    $gemIDs[$i] = $gem->getAttribute('id');
    $i++;
}
fclose($file);

由于某种原因,它是写作 \n 作为字符串,因此文件看起来像这样:

40119\n40122\n40120\n42155\n36925\n45881\n42145\n45880

从谷歌告诉我使用 \r\n, , 但 \r 是一个马车返回,似乎并不是我想做的。我只希望文件看起来像这样:

40119
40122
40120
42155
36925
45881
42145
45880

谢谢。

有帮助吗?

解决方案

代替 '\n'"\n". 。当您使用时,逃脱顺序尚未确认 '.

看到 手动的.

有关如何写线结尾的问题,请参阅注释 这里. 。基本上,不同的操作系统为线路结束有不同的约定。 Windows使用“ r n”,基于UNIX的操作系统使用“ n”。您应该坚持一个约定(我会选择“ n”),然后以二进制模式打开文件(fopen 应该得到“ WB”,而不是“ W”)。

其他提示

采用 PHP_EOL 哪个输出 \r\n 或者 \n 取决于操作系统。

自PHP 4.3.10和PHP 5.0.2以来,PHP_EOL是PHP中的预定义常数。看到 手动的 发布:

使用此功能将为您节省跨平台开发中的额外编码。

IE。

$data = 'some data'.PHP_EOL;
$fp = fopen('somefile', 'a');
fwrite($fp, $data);

如果您两次循环循环,则会在“ Somefile”中看到:

some data
some data

您也可以使用 file_put_contents():

file_put_contents('ids.txt', implode("\n", $gemList) . "\n", FILE_APPEND);
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top