메뉴 건너뛰기

프로그램언어

2015.04.14 19:10

fopen 파일 열기

조회 수 20297 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

단축키

Prev이전 문서

Next다음 문서

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

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);

?>


List of Articles
번호 제목 날짜 조회 수
200 잡다한 php 2017.03.06 18502
199 PHP 날짜, 시간 관련 함수. date(), mktime() 2017.03.06 16707
198 엑셀(*.xls) 화일을 PHP에서 읽기 2017.03.06 17474
197 그누보드, 여분필드 사용팁 2017.03.06 17606
196 PHP 도메인 이름이나 웹문서 주소 알아내기 2017.03.06 17589
195 게시판 페이징 기법과 개념 file 2017.03.06 17323
194 네이버 지도 API 연동 PHP 소스 2017.03.06 18635
193 다중 도메인에 따른 접속방법 2017.03.06 19370
192 간단한 PHP 파일 업로드, 다운로드 구현 2017.03.06 28547
191 파일 업로드 (중복처리) 2017.03.06 20184
190 POST, GET으로 배열값 받기(직렬화) file 2017.03.06 23289
189 PHP 속도 테스트 20 가지 2017.03.06 18306
188 기본적인 페이징 2017.03.07 24849
187 http://홈주소/?mode=xxx 하는방법 2017.03.07 17642
186 파일 이름에서 확장자 추출마스터 2017.03.07 20061
185 체크박스, post 로 넘기고 받아서 다시 체크하기, checkbox 2017.03.07 21131
184 몫과 나머지 구하기 2017.03.07 18471
183 PHP 날짜/시간 정리 2017.03.07 18629
182 www가 붙은 도메인과 안붙은 같은 도메인, 로그인 세션 유지 2017.03.07 17080
181 php 내장함수 2017.03.07 17004
Board Pagination Prev 1 ... 3 4 5 6 7 8 9 10 11 12 ... 17 Next
/ 17

하단 정보를 입력할 수 있습니다

© k2s0o1d4e0s2i1g5n. All Rights Reserved