我有一个包含以下代码的php页面
$ourFileName = "testFile.txt";
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
fwrite($ourFileHandle, "Tracy Tanner1\n");
fwrite($ourFileHandle, "Tracy Tanner2\n");
fclose($ourFileHandle);
testFile.txt内容看起来像
Tracy Tanner1 Tracy Tanner2
但它不像
Tracy Tanner1
Tracy Tanner2
我该如何解决?
答案 0 :(得分:8)
尝试以与记事本不同的方式打开它,可以处理* nix换行符。那,或者改为写\r\n
。
答案 1 :(得分:6)
@Linto P D:加入\r
-
<?php
$ourFileName = "testFile.txt";
$ourFileHandle = fopen($ourFileName, 'w') or die("can't open file");
fwrite($ourFileHandle, "Tracy Tanner1\r\n");
fwrite($ourFileHandle, "Tracy Tanner2\r\n");
fclose($ourFileHandle);
?>
答案 2 :(得分:2)
我认为您特别需要使用\r\n
作为换行符。
答案 3 :(得分:1)
您的代码正是您所描述的应该执行的操作。所以问题完全在于解释文件的应用程序。 PHP在Windows上自动输出"\r\n"
而不是"\n"
,因此您可能在* nix服务器上创建该文件,然后在Windows上使用不支持"\n"
换行符的编辑器打开它。
"line\n"
是在PHP中编写一行的正确方法,因为它尊重当前平台的默认换行符。通过使用"\r\n"
,您将破坏Unix平台的文件,并且在Windows上运行脚本时可能也会遇到问题。
使用正确读取所述换行符的编辑器,或将文本文件从* nix传输到Windows时转换文本文件。
答案 4 :(得分:1)
当你想要换行时我会使用PHP_EOL。这将确保应用程序应与跨平台兼容。
这应该有效:
fwrite($ourFileHandle, 'Tracy Tanner1' . PHP_EOL);
答案 5 :(得分:0)
怎么样:
fwrite($ourFileHandle, 'Tracy Tanner1'."\n");
确保对\n
的文本和双引号使用单引号。
有效吗?