2017-06-01 20 views
0

phpスクリプトは結果を画面に表示しますが、結果をテキストファイルにエクスポートしません。 php c:\myscript.php > output.txtを実行すると、(画面に表示されるのとは対照的に)改行は含まれません。phpスクリプトの結果をテキストファイルに書き込む

結果をテキストファイルにエクスポートするには、ここで何が欠けていますか?

コマンドラインで画面上で動作するスクリプト:

<?php 

$list1 = array('a1', 'a2', 'a3'); 
$list2 = array('b1', 'b2',); 
$list3 = array('c1', 'c2', 'c3'); 

foreach ($list1 as $i) { 
    foreach ($list2 as $j) { 
     if ($j == $i) { continue; } 
     foreach ($list3 as $k) { 
      if ($k == $j) { continue; } 
      if ($k == $i) { continue; } 
      echo "$i$j$k\n"; 
     } 
    } 
} 

?> 

に私は最後にこれを挿入しようとしましたが、エラーを取得。あなたはファイルに何を書きたい場合は、その役に立たないので、

$output = null; 
foreach.... 
file_put_contents("output.txt", $output, FILE_APPEND); 

答えて

1

に変更する必要があることに注意することも重要

その窓、あなたが

echo "$i$j$k\r\n"; 

echo "$i$j$k\n"; 

を変更する必要がありますので、それがお役に立てば幸いです。

+0

は最初の試行で解決されました。素敵で清潔! – user3026965

1

file_get_contents()は、文字列としてファイルの内容を取得します。

$sListText = file_get_contents("output.txt"); 
echo nl2br($sListText); 

私は空のテキストファイルを取得し、これを試してみました。

FYI - これはoutput.txtファイルの既存のデータを上書きします。あなたが実際に$出力変数に何かを置く必要があるので、このラインecho "$i$j$k\n";は、あなたが使用し、罰金と改行で動作php myscript.php > output.txt Linuxマシン上で$output .= "$i$j$k\n";

+0

私は示唆したように試みましたが、エラーが発生しました:fclose <>はパラメータ1がリソースになることを予期します。 (申し訳ありませんが、私は明らかに逃した場合、私はこれに新しいです。) – user3026965

+0

私の悪い、固定、ちょうどそこに間違った変数名を持っていた。 – Enstage

+0

作品! 2行目に '$ output = null;'を追加しました。あなたの提案された3行を挿入しました。あなたの提案された$出力。= "$ i $ j $ k \ r \ n"に変更されました。; – user3026965

関連する問題