
SplFileObject::fgets 함수는 파일의 다음 줄을 읽어주는 함수입니다. 줄바꿈 문자(\n)가 포함되지 않은 문자열이 반환되는 이유는 fgets 함수가 줄바꿈 문자를 포함하지 않는 버퍼를 사용하기 때문입니다.
fgets 함수를 사용할 때, 줄바꿈 문자를 포함할 수 있는 방법은 두 가지가 있습니다.
1. fgets 함수의 두 번째 인자로 버퍼 크기를 지정합니다. 버퍼 크기는 줄바꿈 문자를 포함할 수 있는 크기여야 합니다. 예를 들어, 버퍼 크기를 1024로 지정하면 fgets 함수는 버퍼 크기만큼의 문자열을 읽어와 줄바꿈 문자를 포함합니다.
#hostingforum.kr
php
$file = new SplFileObject('example.txt');
$file->setFlags(SplFileObject::READ_AHEAD);
$buffer = $file->fgets(1024);
2. fgets 함수 대신 fread 함수를 사용합니다. fread 함수는 파일의 내용을 읽어와 줄바꿈 문자를 포함합니다.
#hostingforum.kr
php
$file = new SplFileObject('example.txt');
$contents = $file->fread(1024);
또한, fgets 함수 대신 file_get_contents 함수를 사용할 수도 있습니다. file_get_contents 함수는 파일의 내용을 읽어와 줄바꿈 문자를 포함합니다.
#hostingforum.kr
php
$contents = file_get_contents('example.txt');
이러한 대안을 사용하면 줄바꿈 문자를 포함하는 문자열을 읽을 수 있습니다.
2025-06-14 11:49