0

値をテキストファイルに保存しようとしています。私はさまざまな方法を試しましたが、テキストファイルを開くと、すべての値がスペースなしで1行に書き込まれます。私はここにそれぞれの値を独自の行に書きたいと思っています。これは私がこれまでに持っているものです。

    $filename = 'admin_liste.txt';
    $string   = '';

    foreach($arr as $key => $val) {
    $string .= "$val\n";
    }

    file_put_contents($filename, $string); 

これにより、次のようなすべてがテキストファイルに書き込まれます。 user1user2user3user4

しかし、私はそれをこのようにしたい:

  • user1
  • user2
  • user3
  • user4

「●」なし

4

4 に答える 4

4

Linuxの改行文字を使用している場合は、forWindowsを使用する必要があり\r\nます。

したがって、コードは次のようになります。

$filename = 'admin_liste.txt';
$string   = '';

foreach($arr as $key => $val) {
    $string .= "$val\r\n";
}

file_put_contents($filename, $string);

ただし、PHPには、実行しているオペレーティングシステムに応じてこれを処理する定数が組み込まれています。したがって、上記を使用する代わりに、次を使用することもできます(ただし、Webサイトが常にWindows上にある場合は意味がありませんが、知っておく必要があります)。

file_put_contents($filename, implode(PHP_EOL,array_values($arr)));
于 2012-11-19T09:41:47.063 に答える
3

Windowsで作業しているので、「\ r\n」を使用する必要があります。現在実行しているプラ​​ットフォームに基づいて改行文字をレンダリングするため、組み込みの定数PHP_EOLを使用することをお勧めします。

編集

PHP_EOLをスニペットに追加し、機能しているようです。

$filename = 'admin_liste.txt';
$string   = '';
$arr = array('user1', 'user2', 'user3');

foreach($arr as $key => $val) {

    $string .= "$val" . PHP_EOL;

}

file_put_contents($filename, $string);
于 2012-11-19T09:42:30.833 に答える
0

このコードを試してください

 $filename = 'admin_liste.txt';
$string   = '';

foreach($arr as $key => $val) {
$string .= "$val\n\r";

}
file_put_contents($filename, $string); 
于 2012-11-19T09:42:55.170 に答える
0

PHP_EOL定数を簡単に使用できます

file_put_contents($filename, implode(PHP_EOL,array_values($arr)));
于 2012-11-19T09:44:12.343 に答える