
SplFileObject::valid 메서드는 파일을 읽는 중에 현재 위치가 파일의 끝인지 여부를 확인하는 메서드입니다.
파일을 열었을 때, SplFileObject::valid 메서드를 사용하여 파일의 끝까지 읽을 수 있는지 확인하는 방법은 다음과 같습니다.
#hostingforum.kr
php
$file = new SplFileObject('example.txt');
while ($file->valid()) {
echo $file->fgets();
$file->next();
}
SplFileObject::valid 메서드는 읽기 완료 여부를 체크하는 메서드가 아닙니다. 읽기 완료 여부를 체크하는 메서드는 SplFileObject::eof() 메서드입니다.
SplFileObject::valid 메서드의 사용 예는 다음과 같습니다.
#hostingforum.kr
php
$file = new SplFileObject('example.txt');
if ($file->valid()) {
echo '파일의 끝까지 읽을 수 있습니다.';
} else {
echo '파일의 끝까지 읽을 수 없습니다.';
}
SplFileObject::valid 메서드가 잘못된 값을 반환하는 경우를 대비하여 예외 처리를 하려면 try-catch 블록을 사용할 수 있습니다.
#hostingforum.kr
php
$file = new SplFileObject('example.txt');
try {
if ($file->valid()) {
echo '파일의 끝까지 읽을 수 있습니다.';
} else {
echo '파일의 끝까지 읽을 수 없습니다.';
}
} catch (Exception $e) {
echo '에러 발생: ' . $e->getMessage();
}
또는 SplFileObject::valid 메서드가 잘못된 값을 반환하는 경우를 대비하여 예외 처리를 하려면 if-else 문을 사용할 수 있습니다.
#hostingforum.kr
php
$file = new SplFileObject('example.txt');
if ($file->valid() === true) {
echo '파일의 끝까지 읽을 수 있습니다.';
} elseif ($file->valid() === false) {
echo '파일의 끝까지 읽을 수 없습니다.';
} else {
echo '에러 발생';
}
2025-06-11 10:10