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

PHP fgetc() 함수 사용법 – 파일에서 한 문자씩 읽는 방법

PHP의 fgetc() 함수는 열려 있는 파일에서 한 번에 한 문자씩 읽어오는 함수입니다. 파일 포인터가 가리키는 위치에서 단일 문자를 읽어 문자열로 반환하며, 파일의 끝(EOF)에 도달하면 false를 반환합니다.

문법

fgetc(file_pointer)

매개변수

  • file_pointer − 유효한 파일 포인터여야 하며, fopen() 또는 fsockopen()으로 성공적으로 연 파일을 가리켜야 합니다. fclose()로 이미 닫힌 파일 포인터는 사용할 수 없습니다.

반환값

fgetc() 함수는 파일 포인터가 가리키는 파일에서 읽은 단일 문자를 담은 문자열을 반환하고, 파일 끝(EOF)에 도달하면 false를 반환합니다.

예제 1: 파일의 첫 번째 문자 읽기

다음 예제는 파일에서 첫 번째 문자 하나만 읽어 출력하는 코드입니다.

<?php
   $file_pointer = fopen("one.txt", "r");
   echo fgetc($file_pointer);
   fclose($file_pointer);
?>

파일 "one.txt"에 "Pirates of the Caribbean"이라는 텍스트가 저장되어 있다고 가정해 보겠습니다. fgetc()는 첫 번째 문자만 반환합니다.

출력 결과

P

예제 2: while 루프로 전체 내용 한 문자씩 읽기

이번에는 feof() 함수와 함께 반복문을 사용하여 파일의 모든 내용을 한 문자씩 순서대로 읽어오는 방법을 살펴보겠습니다. 파일 "two.txt"에 "James Gosling developed by Java"라는 텍스트가 있다고 가정합니다.

<?php
   $file_pointer = fopen("two.txt", "r");
   while (!feof($file_pointer)) {
      echo fgetc($file_pointer);
   }
   fclose($file_pointer);
?>

feof() 함수는 파일 포인터가 파일의 끝에 도달했는지 확인하는 역할을 합니다. 따라서 위 코드는 EOF에 도달할 때까지 계속해서 한 문자씩 읽어 전체 텍스트를 그대로 출력하게 됩니다.

출력 결과

James Gosling developed by Java

정리

fgetc()는 대용량 파일을 메모리에 한꺼번에 올리지 않고 처리해야 할 때 유용합니다. 다만 한 글자씩 읽기 때문에 성능이 중요한 경우 fgets()처럼 줄 단위로 읽는 방식이 더 효율적일 수 있다는 점도 함께 기억해 두면 좋습니다.