2

コンテンツをテキストファイルに書き込むこの関数があります:

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();
    }
  }
4

1 に答える 1

7

一重引用符ではなく二重引用符を使用する必要があります。

$text = "some text \n\n Some more text.";
        ^                              ^
于 2012-05-04T13:58:18.077 に答える