Запись новой строки в файл в PHP (перевод строки)

Мой код:

$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);

По некоторым причинам пишет это \n как строка, таким образом, файл похож на это:

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

От Google'ing это говорит мне использовать \r\n, но \r возврат каретки, который, кажется, не то, что я хочу сделать. Я просто хочу, чтобы файл был похож на это:

40119
40122
40120
42155
36925
45881
42145
45880

Спасибо.

101
задан ashleedawg 28 April 2019 в 12:21
поделиться

2 ответа

Заменить '\ n' на «\ n» . Управляющая последовательность не распознается при использовании '.

См. Руководство .

По вопросу о том, как писать окончания строк, см. Примечание здесь . По сути, в разных операционных системах используются разные обозначения окончаний строк. Windows использует "\ r \ n", операционные системы на базе UNIX используют "\ n". Вам следует придерживаться одного соглашения (я бы выбрал «\ n») и открыть файл в двоичном режиме ( fopen должен получить «wb», а не «w»).

259
ответ дан 24 November 2019 в 04:34
поделиться

Вы также можете использовать file_put_contents():

file_put_contents('ids.txt', implode("\n", $gemList) . "\n", FILE_APPEND);
23
ответ дан 24 November 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: