当前位置: 首页 > 面试题库 >

在PHP中写入新行到文件(换行)

张鹏云
2023-03-14
问题内容

我的代码:

$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的指示,它告诉我使用\r\n,但\r它是回车符,这似乎不是我想要执行的操作。我只希望文件看起来像这样:

40119
40122
40120
42155
36925
45881
42145
45880

谢谢。


问题答案:

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

有关如何写行尾的问题,请参见此处的注释。基本上,不同的操作系统对于行尾有不同的约定。Windows使用“
\ r \ n”,基于Unix的操作系统使用“ \ n”。您应该遵循一个约定(我选择了“ \ n”),然后以二进制模式打开文件(fopen应该获取“
wb”,而不是“ w”)。



 类似资料:
  • 问题内容: 考虑以下功能 在下一行中每次添加要写入的内容? 例如,我想要给定字符串的每个单词在单独的lline中,例如: 写道: 问题答案: 要将文本(而不是原始字节)写入文件,应考虑使用FileWriter。您还应该将其包装在BufferedWriter中,这将为您提供newLine方法。 要将每个单词写在新行上,请使用String.split将您的文本分成单词数组。 因此,这是对您的要求的简单

  • 问题内容: 所以我的代码看起来像这样: 我在行上得到了正确的输出形式,但是当我以后想要写它所显示的内容时,由于代码中没有代码,所以无需换行就可以写入文件。 问题答案: 只是打电话。 将为您的平台(无论是Windows还是Unix风格)提供行分隔符。

  • 问题内容: 我正在尝试将数据整理到.CSV文件中。我想将数据放在特定的行中,所以我尝试将“ \ n”放进去,但是它不起作用。请帮助我将数据放入特定的行中。谢谢提前.. 问题答案: 您的代码看起来不错,并且我确定换行符已正确写入文件中。我能想到的唯一原因是,您使用的编辑器未将文件视为行分隔符,而是将对视为行分隔符(如Windows上的记事本)打开了文件。 因此,您可以使用编写换行符,也可以使用诸如的

  • 问题内容: 我在一个免费的支持PHP的服务器上安装了此脚本: 它创建文件,但为空。 如何创建文件并向其中写入内容,例如“猫追老鼠”行? 问题答案: 您可以使用更高级别的函数,例如,与调用,相同,然后依次将数据写入文件。

  • 我有以下代码: 使用System在我的控制台中输出代码。出来println(line)提供了正确的输出。然而,当我打开CSV文件时,它似乎是反向写入的。Excel首先抱怨行的数量。但是,仅显示原始数据集的最后一行。数据集(预处理效率很低)包含1000多行。因此,我不能简单地附加每个条目。 有更好的方法吗? 提示和技巧是非常受欢迎的。此外,我还尝试了几种编写器:-CSVwrite-BufferedW

  • 问题内容: 我们正在从网络服务流式传输CSV文件。看来我们在流式传输时会丢失换行符-客户端将文件全部放在一行上。知道我们在做什么错吗? 码: 问题答案: 不要使用。您已经手头上了,因此只需获取文件的一个,然后通过通常的Java IO方式 将输入中的字节通过管道传输到输出即可。这样,您也不必担心换行符被以下内容吃掉: 如果您不事先知道/指定编码,则使用/ 将涉及字符编码问题。您实际上也不需要在这里了