5

テキスト領域でユーザーからの入力を受け入れる PHP ページがあります。ユーザーからの入力として複数の文字列が受け入れられ、「\ n」が含まれ、次のようにスキャンしています。

$data = explode("\n", $_GET['TxtareaInput']);

各文字列は、改行文字で区切られたテキスト ファイルに移動する必要があります。これは私が現在使用しているコードで、各文字列を '^M' 文字で区切ります。

foreach($data as $value){
    fwrite($ourFileHandle, $value);
}

とにかく、各文字列の後にキャリッジリターンを取得できますか?

4

3 に答える 3

59

implode を使用して簡単に書き戻すことができます。

file_put_contents('file.csv', implode(PHP_EOL, $data));
于 2012-08-14T16:51:50.147 に答える
1

これを試して:

$data = explode("\n", $_GET['TxtareaInput']);
foreach($data as $value){
    fwrite($ourFileHandle, $value.PHP_EOL);
}
于 2012-08-14T16:56:07.927 に答える
1

新しい行を追加したい場合、最初に削除するのはなぜですか?

$data = explode("\n", $_GET['TxtareaInput']);

次の行のみを保持します。

fwrite($ourFileHandle, $data);

受信したデータをファイルに書き込みます。

ファイルに書き込む前にすべての改行をキャリッジ リターンに置き換えたい場合は、次のコードを使用します。

    fwrite($ourFileHandle, str_replace("\n", "\r", $data));
于 2012-08-14T16:56:26.053 に答える