PHP의 file() 함수는 파일 전체를 읽어 각 줄을 요소로 하는 배열로 반환하는 함수입니다. 텍스트 파일의 내용을 한 번에 처리해야 할 때 매우 유용하게 활용됩니다.
구문
file(file_path, flag, context)
매개변수
file − 읽어올 파일의 경로입니다.
flag − 선택적으로 지정할 수 있는 상수로, 아래 값 중 하나 이상을 조합하여 사용할 수 있습니다.
FILE_USE_INCLUDE_PATH − include_path에 설정된 경로에서 파일을 검색합니다.
FILE_IGNORE_NEW_LINES − 각 배열 요소 끝에 개행 문자(newline)를 추가하지 않습니다.
FILE_SKIP_EMPTY_LINES − 빈 줄은 건너뛰고 무시합니다.
FILE_TEXT − 내용을 UTF-8 인코딩으로 반환합니다. 커스텀 컨텍스트를 생성하면 다른 인코딩을 지정할 수도 있습니다. 이 플래그는 FILE_BINARY와 함께 사용할 수 없으며, PHP 6부터만 사용 가능합니다.
FILE_BINARY − 내용을 바이너리 데이터로 읽어옵니다. 기본 설정값이며, FILE_TEXT와 함께 사용할 수 없습니다. 이 플래그 역시 PHP 6부터만 사용 가능합니다.
context − 스트림의 동작 방식을 변경하는 데 사용됩니다.
반환값
file() 함수는 성공 시 파일 내용을 배열로 반환하며, 실패하면 false를 반환합니다.
예제
다음과 같은 내용을 담고 있는 "continents.txt" 파일이 있다고 가정해 보겠습니다.
The Earth has seven continents. The continents are: Asia, Africa, North America, South America, Antarctica, Europe, and Australia. Asia is the largest in area. Australia is the smallest in terms of area.
예제 코드
<?php
print_r(file("continents.txt"));
?>
출력 결과
위 코드를 실행하면 파일의 각 줄이 배열 요소로 저장되어 아래와 같이 출력됩니다.
Array ( [0] => The Earth has seven continents. [1] => The continents are: Asia, Africa, North America, South America, Antarctica, Europe, and Australia. [2] => Asia is the largest in area. [3] => Australia is the smallest in terms of area. )