Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP에서 텍스트 파일의 마지막 5줄만 읽는 방법

텍스트 파일에서 마지막 5줄만 읽어오고 싶다면 file() 함수와 간단한 반복문을 활용하면 됩니다. 아래 예제 코드를 확인해 보세요.

예제 코드

$file = file("filename.txt");
for ($i = max(0, count($file)-6); $i < count($file); $i++) {
    echo $file[$i] . "\n";
}

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

파일에 5줄 이상의 텍스트가 저장되어 있다면, 텍스트 파일의 마지막 5줄이 화면에 표시됩니다.

코드 설명

이 코드의 동작 원리는 다음과 같습니다.

file() 함수는 지정한 파일을 열어 각 줄을 배열의 요소 하나씩으로 읽어들입니다. 이후 count() 함수로 배열의 전체 줄 수를 구하고, max(0, count($file)-6)을 통해 반복문의 시작 인덱스를 결정합니다.

여기서 max() 함수를 사용하는 이유는 파일의 줄 수가 5줄보다 적은 경우에도 음수 인덱스로 인한 오류 없이 안전하게 처리하기 위함입니다. 즉, 파일이 짧더라도 존재하는 줄만큼만 정상적으로 출력됩니다.

참고 사항

file() 함수는 파일 전체를 메모리에 한 번에 불러오기 때문에 파일 크기가 매우 큰 경우에는 메모리 사용량이 많아질 수 있습니다. 대용량 로그 파일 등을 처리할 때는 SplFileObjectfseek()을 이용해 파일 끝부분부터 역방향으로 읽는 방식이 더 효율적입니다.