itsource

PHP(라인 피드)에 파일에 새 줄 쓰기

mycopycode 2023. 2. 6. 23:31
반응형

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

구글링에서 보면\r\n,그렇지만\r제가 하고 싶은 일은 아닌 것 같은 캐리지 리턴입니다.파일이 다음과 같이 되었으면 합니다.

40119
40122
40120
42155
36925
45881
42145
45880

감사해요.

교체하다'\n'와 함께"\n"를 사용하면 이스케이프 시퀀스가 인식되지 않습니다.'.

매뉴얼을 참조해 주세요.

행의 말미를 쓰는 방법에 대해서는, 여기를 참조해 주세요.기본적으로 운영체제마다 회선 엔딩에 대한 규칙이 다릅니다.Windows 에서는 「\r\n」, Unix 베이스의 operating system에서는 「\n」을 사용합니다.하나의 규칙을 고수하여 ("\n"을 선택) 파일을 바이너리 모드로 엽니다(\n)로 엽니다.fopen"w"가 아니라 "w"가 되어야 합니다.

사용하다PHP_EOL출력되는 것\r\n또는\nOS에 따라 다릅니다.

PHP_EOL은 PHP 4.3.10 및 PHP 5.0.2 이후 PHP에서 미리 정의된 상수입니다.다음의 메뉴얼의 투고를 참조해 주세요.

이를 사용하면 플랫폼 간 개발에서 추가적인 코딩이 절감됩니다.

IE.

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

이것을 2회 반복하면, 「some file」에 표시됩니다.

some data
some data

다음의 것도 사용할 수 있습니다.

file_put_contents('ids.txt', implode("\n", $gemList) . "\n", FILE_APPEND);

언급URL : https://stackoverflow.com/questions/3066421/writing-a-new-line-to-file-in-php-line-feed

반응형