본문 바로가기
개발 기초/PHP

PHP - 파일 읽기

by 륀두 2020. 4. 30.
반응형

파일(file)이란 의미 있는 정보를 담고 있으며, 이름을 가지고 있는 저장 장치상의 논리적인 단위를 의미합니다.

PHP에서는 데이터를 파일에 저장할 수도 있으며, 파일로부터 데이터를 읽어 들일 수도 있습니다.

PHP에서 파일을 읽고 쓰는 과정은 각각 다음과 같은 단계를 거쳐서 처리됩니다.

파일 읽기

  1. 파일 열기, 열리지 않으면 종료함.
  2. 파일에서 데이터 읽기
  3. 파일 닫기

파일 쓰기

  1. 파일 열기, 파일이 존재하지 않으면 생성함.
  2. 파일에 데이터 쓰기
  3. 파일 닫기

 

1. 파일 열기

파일은 fopen() 함수를 이용하여 열 수 있습니다.

fopen() 함수에는 첫 번째 인수로 열 파일의 주소를 전달합니다.

두 번째 인수로는 파일에 대한 접근 권한을 명시하는 파일 모드를 전달해야 합니다.

fopen() 함수에서 사용할 수 있는 파일 모드는 다음과 같습니다.

 

파일 모드 설명

r

파일을 읽기 전용으로 열고, 파일 포인터는 파일의 시작 부분에 위치함.

r+

파일을 읽고 쓰기 위해 열고, 파일 포인터는 파일의 시작 부분에 위치함.

w

파일을 쓰기 전용으로 열고, 파일 포인터는 파일의 시작 부분에 위치함.

만약 파일이 존재하면 덮어쓰고, 파일이 없다면 새로 생성함.

w+

파일을 읽고 쓰기 위해 열고, 파일 포인터는 파일의 시작 부분에 위치함.

만약 파일이 존재하면 덮어쓰고, 파일이 없다면 새로 생성함.

a

파일을 쓰기 전용으로 열고, 파일 포인터는 파일의 끝부분에 위치함.

만약 파일이 존재하면 이어 쓰고, 파일이 없다면 새로 생성함.

a+

파일을 읽고 쓰기 위해 열고, 파일 포인터는 파일의 끝부분에 위치함.

만약 파일이 존재하면 이어 쓰고, 파일이 없다면 새로 생성함.

x

파일을 쓰기 전용으로 열고, 파일 포인터는 파일의 시작 부분에 위치함.

만약 파일이 존재하면 false를 반환하고 오류를 발생시킴.

x+

파일을 읽고 쓰기 위해 열고, 파일 포인터는 파일의 시작 부분에 위치함.

만약 파일이 존재하면 false를 반환하고 오류를 발생시킴.

c

파일을 쓰기 전용으로 열고, 파일 포인터는 파일의 시작 부분에 위치함.

만약 파일이 없다면 새로 생성하고, 파일이 존재하면 파일을 덮어쓰지도 않고 오류를 발생시키지도 않음.

c+

파일을 읽고 쓰기 위해 열고, 나머지는 'c'와 같음.
$fp = fopen("list.txt", 'a');
// list.txt 파일을 쓰기 전용으로 연 후, 파일 포인터를 파일의 끝부분에 위치시킴

 

2. 파일 읽기

fopen() 함수를 이용하여 파일을 연 후에는 데이터를 읽어 올 수 있습니다.

PHP에서는 파일의 데이터를 읽기 위한 여러 함수를 제공합니다.

 

fgets() 함수는 해당 파일에서 데이터를 한 번에 한 줄씩 읽어들입니다.

이 함수는 파일 포인터가 파일의 끝에 도달하거나, 줄 바꿈 문자를 만날 때까지 계속 수행됩니다.

 

fgetc() 함수는 해당 파일에서 데이터를 한 번에 한 글자씩 읽어 들입니다.

이 함수는 전달받은 파일 포인터가 가리키는 문자를 반환합니다.

 

readfile() 함수는 해당 파일에서 데이터를 한 번에 모두 읽어 들입니다.

이 함수는 전달받은 파일 포인터가 가리키는 파일의 데이터를 모두 읽은 후, 출력 버퍼(output buffer)에 저장합니다.

 

3. 파일 닫기

PHP에서 사용이 모두 끝난 파일은 fclose() 함수를 이용하여 닫을 수 있습니다.

fclose($fp);
반응형

'개발 기초 > PHP' 카테고리의 다른 글

PHP - 쿠키(cookie)  (0) 2020.04.30
PHP - 파일 쓰기  (0) 2020.04.30
PHP - Form 검증  (0) 2020.04.30
PHP - Form 전송  (0) 2020.04.30
PHP - 오버로딩  (0) 2020.04.30