• 締切済み

追加書き込みと改行コードについて

 お世話になっております。  PHPの初心者です。  PHPの追加書き込みの件で質問です。テキストファイルにテキストを追加書き込みしようと思い、以下のように書きました。 $fp = fopen('data.txt', 'a'); flock($fp, LOCK_EX); $return = fputs($fp, "$namen"); flock($fp, LOCK_UN); fclose($fp);  これでファイルに追加で書き込みはできるのですが、文末に直接つながってしまい改行されないですよね?一度書き込まれるごとに改行したいのですが、改行コードが\nでは追加で書き込みができなくなってしまいました。$returnの値がゼロになってしまいファイルに何も書き込まれなくなってしまいました。 $return = fputs($fp, "$namen\n"); ←この部分に\nを書き足しました。  文字コードはUTF-8で書き、改行コードはLFで統一しています。  PHPの改行コードについてわかる方がいましたらおしえてください。  

みんなの回答

  • gmataw
  • ベストアンサー率50% (12/24)
回答No.1

基本的に LF は \n であってるので、どこに不具合があるのか分かりませんが、 $return = fputs($fp, "$namen\n"); ↓↓↓ $return = fputs($fp, $namen . "\n"); にしてみたらどうですか?

Tinte
質問者

お礼

 ありがとうございます。  いろいろ試しているうちにわかったことですが、(私も書いているもの自体には問題がないと思っていたのですが、全然動いてくれませんでした。)テキストエディタの設定の問題だったようです。  「Unicode保存時、\をバックスラッシュ(0x005C)で保存する。」という文字コードの設定項目にチェックを入れていなかったのが原因のようです。  テキストエディタはmiを使っているのですが、なかなか細かい設定項目が多くて、苦心しております。  アドバイスありがとうございました。

関連するQ&A