Frage

Mein Code:

$i = 0;
$file = fopen('ids.txt', 'w');
foreach ($gemList as $gem)
{
    fwrite($file, $gem->getAttribute('id') . '\n');
    $gemIDs[$i] = $gem->getAttribute('id');
    $i++;
}
fclose($file);

Aus irgendeinem Grund, es schreibt \n als String, so dass die Datei sieht wie folgt aus:

40119\n40122\n40120\n42155\n36925\n45881\n42145\n45880

Von Google'ing es sagt mir \r\n zu verwenden, aber \r ist ein Wagenrücklauf, die nicht zu sein scheint, was ich tun möchte. Ich möchte nur die Datei wie folgt aussehen:

40119
40122
40120
42155
36925
45881
42145
45880

Danke.

Andere Tipps

Verwenden PHP_EOL die Ausgänge \r\n oder \n auf dem OS abhängig.

PHP_EOL ist eine vordefinierte Konstante in PHP seit PHP 4.3.10 und PHP 5.0.2. Finden Sie in der Handbuch Posting:

das Verwenden sparen Sie zusätzliche Codierung auf Cross-Plattform-Entwicklungen.

IE.

$data = 'some data'.PHP_EOL;
$fp = fopen('somefile', 'a');
fwrite($fp, $data);

Wenn Sie durch diese Schleife zweimal würden Sie sehen, in ‚somefile‘:

some data
some data

Sie können auch verwenden file_put_contents() :

file_put_contents('ids.txt', implode("\n", $gemList) . "\n", FILE_APPEND);
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top