2017-12-24 9 views
-2

これはコードです。私は間違いをどこにしたのかわかりません。一重引用符でも試しました。 私はそれを試しましたが、すべての項目が1行で表示されます。改行はPHPで動作しません

+0

を、そのブラウザがそれがHTMLを期待している場合。 OSに応じて "\ r \ n"が必要かもしれません – rtfm

+0

"\ n"の代わりにPHP_EOLをテストとして使用するのはどうですか?そうすれば、システム自体が使用するすべての戻り値でなければなりません。 –

+0

いくつのアイテムがありますか? $ itemとは何ですか?それは文字列内の1つの項目か、配列内の複数の項目ですか? – Andreas

答えて

0

\nの代わりにPHP_EOLを使用してください。

$output_line=$item . PHP_EOL ; 
+0

OPは$ itemが配列であると言います。これは文字列変換エラーへの配列を作成する必要があります – Andreas

+0

それは事実です。しかし、OPは答えhttps://stackoverflow.com/a/47958569/7594961が働いていると言っています –

0

使用PHP_EOL\r\nまたは\n

$data = 'some data' . PHP_EOL . 'this should be on new line'; 
$fp = fopen('my_file', 'a'); 
fwrite($fp, $data); 

//ファイル出力

some data 
this should be on new line 
+0

おかげで仕事をしましたが、なぜ私はうまく働いていないのだろうかと思っています。 –

+0

ようこそ。詳細はこちらをご覧ください:https://stackoverflow.com/questions/4975411/when-do-i-use-php-eol-instead-of-n-and-vice-versa-ajax-jquery-client-problem –

+0

うーん、私は必要な答えです。 –

0

改行表現は異なるオペレーティングシステムに異なる可能性が生じています。 PHPには、PHP_EOLという定義済みの定数があり、現在のプラットフォームの正しい 'End Of Line'シンボルを返します。 PHP 5.0.2以降で利用可能です。

したがって、あなたのコードは以下のようにする必要があります:あなたは、各項目の間に「テキスト」を追加する破を使用する必要が

$output_line=$item.PHP_EOL; 
fwrite($myfile,$output_line); 
+0

OPは$ itemが配列だと言っています、これは文字列変換エラーへの配列を作成する必要があります – Andreas

+0

私はそれをフォーマットされたコードを得るために編集できません... – Andreas

0


Implodeは配列をとり、各項目の間に文字列を追加し、すべての文字列にします。

$output_line=implode(" PHP_EOL", $item); 
fwrite($myfile,$output_line); 

これは今ようになります:有効なのですtxtファイル用

Item1 PHP_EOL 
Item2 PHP_EOL 
Item3 PHP_EOL 
関連する問題