
SplFileObject::eof() 메서드는 파일의 끝을 정확하게 확인하지 못하는 문제를 겪을 수 있습니다. 이 문제를 해결하기 위해 다음과 같은 방법이 있습니다.
1. 파일을 읽어올 때마다 eof() 메서드를 호출하여 파일의 끝을 확인하고, eof() 메서드가 true를 반환하는 경우 파일을 닫고 다시 열 수 있습니다. 하지만 이 방법은 불필요한 파일 열기 및 닫기 연산이 발생하여 성능에 영향을 줄 수 있습니다.
2. 파일을 읽어올 때 fgets() 메서드를 사용하여 한 줄씩 파일의 내용을 읽어오고, fgets() 메서드가 false를 반환하는 경우 파일의 끝이 정확하게 확인된 것입니다. 이 방법은 eof() 메서드가 true를 반환하는 경우에도 파일의 끝이 정확하게 확인되는지 확인할 수 있습니다.
위의 코드에서 eof() 메서드가 true를 반환하는 경우, 파일의 끝이 정확하게 확인되는지 확인하려면 fgets() 메서드를 사용하여 한 줄씩 파일의 내용을 읽어오고, fgets() 메서드가 false를 반환하는 경우 파일의 끝이 정확하게 확인된 것입니다.
#hostingforum.kr
php
$file = new SplFileObject('test.txt', 'r');
while (true) {
$line = $file->fgets();
if ($line === false) {
break;
}
echo $line . "n";
}
이 코드는 파일을 읽어올 때 fgets() 메서드를 사용하여 한 줄씩 파일의 내용을 읽어오고, fgets() 메서드가 false를 반환하는 경우 파일의 끝이 정확하게 확인된 것입니다.
2025-05-25 04:42