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
。谢谢,我不知道有什么区别。