出于某种原因,我正在使用我的代码来打破界限,但是无法正常工作。
输出时不会破坏线条。
$file = "availables.txt";
$current .= $test."\n";
file_put_contents($file, $current);
我不确定是什么问题,但我读到使用单引号(')不起作用,我必须使用双引号(“),这就是我正在使用的。
我真的找不到多少,但我确信这只是一个简单的问题:)
答案 0 :(得分:2)
正如评论中所提到的,问题在于为平台选择正确的行结束符号。
核心常量PHP_EOL
将为您执行此操作,允许您创建可移植代码。
正确的行结束'这个平台的象征。自PHP 4.3.10和PHP 5.0.2起可用
答案 1 :(得分:1)
用单引号括起来的换行字符确实不起作用,这只是因为PHP会在文件中插入退格\
后跟n
。这会产生ASCII / UTF-8十六进制代码0x2F0x6E
,而不仅仅是0xA
。
使用"\n"
或预定义常量PHP_EOL
,它将始终包含适用于您平台的正确换行组合,这样可以解决此问题。
您在问题中发布的代码绝对没有错。那有什么不对?我的猜测是用于查看生成的文件的程序。某些损坏的Windows应用程序无法正确读取换行符,因为他们希望该文件使用Windows换行符(这可能是换行符和回车符的组合)。
您正在使用PHP,在浏览器中输出文件(无论哪个),他们都会正确处理。简单地:
<?php
header("content-type: text/plain");
echo "hello\nworld";
你会发现一切都很好。
答案 2 :(得分:-2)
您可以在双引号内写下变量,例如
$current .= "$test\n";