'\n';无法在.txt文件创建中工作+;php
我有一个包含以下代码的php页面'\n';无法在.txt文件创建中工作+;php,php,Php,我有一个包含以下代码的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内容看起来像 特蕾西
$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内容看起来像
特蕾西·坦纳1特蕾西·坦纳2
但它不像
Tracy Tanner1
Tracy Tanner2
如何修复它我认为您特别需要为新行字符使用
\r\n
。尝试使用与记事本不同的可以处理*nix新行的东西打开它。或者改为写\r\n
。@Linto p D:Add-in\r
--
您的代码完全按照您描述的那样执行。因此,问题完全在于解释文件的应用程序。PHP在Windows上自动输出“\r\n”
,而不是“\n”
,因此您可能在*nix服务器上创建了该文件,然后在Windows上使用不支持“\n”
换行符的编辑器打开它
“line\n”
是用PHP写一行的正确方法,因为它尊重当前平台的默认换行符。通过使用“\r\n”
您将破坏Unix平台的文件,并且在Windows上运行脚本时也可能出现问题
使用能够正确读取上述换行符的编辑器,或者在将文本文件从*nix传输到Windows时转换文本文件。关于:
fwrite($ourFileHandle, 'Tracy Tanner1'."\n");
请确保对文本使用单引号,对\n
使用双引号
它有效吗?当你想要换行时,我会使用PHP\u EOL。这将确保应用程序应该是跨平台兼容的
这应该起作用:
fwrite($ourFileHandle,'Tracy Tanner1'.PHP_EOL)代码>刚刚在linux上运行良好,我想您是在windows机器上?如果是这样,请尝试\r\n而不是\n.+1…真正的解决方案是使用一个不糟糕的编辑器,而不是更改行尾。IMHOThis只会在脚本运行的系统上添加新行字符。如果脚本在Linux上运行,而他试图在Windows上打开该文件,则不会有任何帮助。@Felix Kling噢,是的,PHP\u EOL
仅在编写日志文件(以及类似文件)时有用。我认为我对这个问题读得不够好。
fwrite($ourFileHandle, 'Tracy Tanner1'."\n");