Php 为什么不是';t\n\n将文本保存到文件时是否换行?
我有一个将内容写入文本文件的函数:Php 为什么不是';t\n\n将文本保存到文件时是否换行?,php,file,Php,File,我有一个将内容写入文本文件的函数: function write($text){ fwrite($this->fp, '#' . date('H:i d.m.Y') . ': ' . $text . "\n\n"); } 每次调用它时,都会添加文本并调用新行 但如果我做过这样的事情: $text = 'some text \n\n Some more text.'; write($text) 那么文本中的换行符就不起作用了 为什么呢?我错过了什么 下面是我用来记录调试数据的整个函数
function write($text){
fwrite($this->fp, '#' . date('H:i d.m.Y') . ': ' . $text . "\n\n");
}
每次调用它时,都会添加文本并调用新行
但如果我做过这样的事情:
$text = 'some text \n\n Some more text.';
write($text)
那么文本中的换行符就不起作用了
为什么呢?我错过了什么
下面是我用来记录调试数据的整个函数:
class logDebuggData {
private $fp = NULL;
function __construct($name='log', $dir=''){
$this->fp = fopen(TEMPLATE_DIR.$name.'.txt', 'a+');
}
function write($text){
fwrite($this->fp, '#' . date('H:i d.m.Y') . ': ' . $text . "\n\n");
}
function close(){
if ($this->fp) {
fclose($this->fp);
$this->fp = NULL;
}
}
function __destruct() {
$this->close();
}
}
您需要使用双引号,而不是单引号:
$text = "some text \n\n Some more text.";
^ ^
请阅读(这适用于所有登陆此页面的人,而不仅仅是OP)。对。阅读你的手册。认识他们。爱他们。他们是你的朋友。你也应该使用
PHP\u EOL
而不是\n
或\r\n
,因为PHP\u EOL
将根据它所在的平台决定使用哪一个。+1@lawrencerone-需要注意的是,如果你正在实现其他人定义的东西,请使用他们定义的行尾样式。我经常看到的最明显的违规行为是人们使用PHP\u EOL
构造MIME消息,而他们应该使用显式\r\n
。谢谢,我不知道有什么区别。