首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在PHP中向文件写入新行(换行符)

在PHP中向文件写入新行(换行符)
EN

Stack Overflow用户
提问于 2010-06-18 08:00:04
回答 4查看 348.2K关注 0票数 121

我的代码:

$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

Google‘’ing告诉我应该使用\r\n,但是\r是一个回车,这似乎不是我想要做的。我只想让文件看起来像这样:

40119
40122
40120
42155
36925
45881
42145
45880

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-06-18 08:00:58

"\n"替换'\n'。使用'时无法识别转义序列。

请参阅manual

有关如何编写行尾的问题,请参阅备注here。基本上,不同的操作系统对行结束有不同的约定。Windows使用"\r\n",基于unix的操作系统使用"\n“。你应该坚持一个约定(我选择了"\n")并以二进制模式打开你的文件(fopen应该得到"wb",而不是"w")。

票数 300
EN

Stack Overflow用户

发布于 2011-09-17 03:58:50

使用输出\r\n\nPHP_EOL,具体取决于操作系统。

票数 71
EN

Stack Overflow用户

发布于 2013-02-18 05:29:03

PHP_EOL是PHP4.3.10和PHP5.0.2以后的预定义常量。请参阅manual帖子:

使用它可以节省跨平台开发中的额外代码。

即。

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

如果你循环这段代码两次,你会在“某个文件”中看到:

some data
some data
票数 69
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3066421

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档