fopen 파일 열기

by 조쉬 posted Apr 14, 2015
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

FILE *fopen(const char *filename, const char *mode);

// fopen() 함수의 파일 경로, 파일을 열때 모드 옵션

// mode 옵션 의미


r : 읽기 전용으로 열기


w : 쓰기용으로 파일 만들기, 같은 이름이 있다면 덮어쓰기


a : 같은 이름의 파일이 이미 있다면, 그 파일 끝에 추가하여 쓰기, 파일이 없다면 쓰기용으로 파일 생성


r+ : 이미 있는 파일을, 읽기/쓰기용으로 열어 업데이트


w+ : 일기/쓰기용으로 파일 만들기, 같은 이름의 파일이 존재한다면 덮어쓰기


a+ : 파일을 열어서, 끝부분에 추가하기. 파일이 없다면 새로 생성한다.


t : 텍스트 모드로 열기


b : 이진 파일 모드로 열기



위의 모드는 조합이 가능하다.


rb : 바이너리 모드, 읽기 전용 열기


wb : 바이너리 모드, 쓰기용으로 열기




실제 파일을 열고 나면 파일 안의 데이터를 읽어 와야 되는데 그럴 때 사용하는 함수로는 3개가 있다.

$data = fgets($fp, 1000);
fgets() 함수는 파일에서 한 줄씩 읽는다. 이 경우 파일의 줄바꿈 문자나 EOF를 만나지 않는다면 999바이트를 읽을 때까지 진행한다.

$data = fgetss($fp, 1000, "특정 태그");
fgetss() 함수는 읽어들인 문자열에서 PHP와 HTML 태그를 모두 제거한다. 특정 태그를 남겨두려면 적어준다.

$data = fgetcsv($fp, 1000, "delimiter");
fgetcsv() 함수는 파일에서 읽은 문자열을 구분 문자로 나누어서 배열에 저장한다. 가운데는 length 파라미터인데, 이 값은 읽으려는 한 줄의 길이보다 좀 더 길어야 한다.

$data = fgetc($fp);
fgetc() 함수는 파일에서 한번에 한 문자씩 읽어들인다.



<?php

$fp=fopen('./data.txt',"r");

while(!feof($fp)) {   // 파일의 끝인지 아닌지 확인 (false 일 경우 끝)

echo fgets($fp,1000)."<br/>";

}

fclose($fp);

?>