php
  • file
  • 2012-05-04 22 views 2 likes 
    2

    私はテキストファイルに内容を書き込み、この機能を持っている:テキストをファイルに保存するときに n n行を改行しないのはなぜですか?

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

    をお読みください(これが適用されるの*誰もがこのページに載っています、OPだけでなく)[this](http://php.net/manual/en/language.types.string.php)。正しく。マニュアルを読んでください。それらを知っています。彼らを愛する。彼らはあなたの友人です。 – DaveRandom

    +1

    また、 '\ n'や' \ r \ n'の代わりに 'PHP_EOL'を使うべきです。なぜなら' PHP_EOL'はどのプラットホームが使用されているかに基づいてどちらを使うかを決めるからです。 –

    +0

    +1 @LawrenceCherone - あなたが他の誰かが定義したものを実装している場合、それらが定義する行終了スタイルを使用するよう注意してください。私が定期的に目にする最も顕著な違反は、明示的な '\ r \ n'を使うべきときに' PHP_EOL'を使ってMIMEメッセージを構築することです。 – DaveRandom

    答えて

    7

    $text = "some text \n\n Some more text."; 
         ^       ^
    
    +0

    ありがとう、私は違いがあったのか分からなかった。 – Steven

    関連する問題