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

PHP fread() 함수 완벽 정리 – 파일 읽기 기본 문법과 실전 예제

PHP의 fread() 함수는 열려 있는 파일로부터 데이터를 읽어오는 함수입니다. 파일의 끝(EOF)에 도달하거나 지정한 길이만큼 데이터를 읽었을 때, 두 조건 중 먼저 충족되는 시점에 읽기를 중단합니다. 읽기에 성공하면 해당 문자열을 반환하며, 실패할 경우 FALSE를 반환합니다.

문법(Syntax)

fread(file_pointer, length)

매개변수(Parameters)

  • file_pointerfopen() 함수로 생성한 파일 시스템 포인터 리소스입니다. 필수 값입니다.

  • length − 읽어올 최대 바이트 수입니다. 필수 값입니다.

반환값(Return)

fread() 함수는 읽기에 성공하면 읽어온 문자열을 반환하고, 실패하면 FALSE를 반환합니다. 참고로 fread()는 바이너리 세이프(binary-safe) 방식으로 동작하기 때문에 텍스트 파일뿐 아니라 이미지 등 바이너리 파일도 안전하게 읽을 수 있습니다.

예제 준비

다음과 같은 내용을 담고 있는 “one.txt” 파일이 있다고 가정해 보겠습니다.

Cricket and Football are popular sports.

예제 1: 지정한 바이트 수만큼 읽기

아래 예제는 파일에서 7바이트만 읽어와 출력합니다.

<?php
   $file_pointer = fopen("one.txt", "r");
   // fread() 함수 사용
   echo fread($file_pointer, "7");
   fclose($file_pointer);
?>

출력 결과

Cricket

7바이트까지만 읽었기 때문에 “Cricket”까지만 출력된 것을 확인할 수 있습니다.

예제 2: 파일 전체 내용 읽기

파일의 전체 내용을 읽으려면 filesize() 함수를 활용해 파일 크기만큼 읽도록 지정하면 됩니다.

<?php
   $file_pointer = fopen("one.txt", "r");
   // fread() 함수 사용
   echo fread($file_pointer, filesize("one.txt"));
   fclose($file_pointer);
?>

출력 결과

Cricket and Football are popular sports.

정리

fread() 함수는 파일 포인터와 읽을 바이트 수를 인자로 받아 파일 내용을 읽어오는 간단하면서도 강력한 함수입니다. 부분적으로 읽고 싶다면 원하는 바이트 수를 지정하고, 파일 전체를 읽고 싶다면 filesize()와 함께 사용하면 됩니다. 작업이 끝난 후에는 반드시 fclose()로 파일을 닫아 리소스 누수를 방지하는 것이 좋습니다.