본문 바로가기

컴퓨터/언어,프로그래밍

[PHP고급] PHP 파일 다루기

fopen() 함수는 PHP에서 파일을 여는데 사용됩니다.

 

파일 열기

fopen() 함수는 PHP에서 파일을 여는데 사용됩니다.

이 함수의 첫번째 파라미터(매개변수)는 열려는 파일 이름을 넣으면되고, 두번째 파라미터(매개변수)에는 파일을 열때

어떤 모드(mode)로 열어야 하는지 지정해주면 됩니다. ^^...


<html>
<body>
<?php
$file=fopen("welcome.txt","r");
?>
</body>
</html>

파일은 아마도 다음중 하나의 모드로 열어야 겠지요? :

모드(mode)설명
r 오직 읽기(Read Only)만 합니다. 파일의 처음부분에서 시작합니다.
r+ 읽기/쓰기(Read/Write) 모드. 파일의 처음부분에서 시작합니다.
w 오직 쓰기(Write Only)만 합니다. 파일을 열고 내용을 초기화 합니다; 혹은 파일이 존재하지 않으면 새 파일을 하나 만듭니다.
w+ 읽기/쓰기(Read/Write) 모드. 파일을 열고 내용을 초기화 합니다; 혹은 파일이 존재하지 않으면 새 파일을 하나 만듭니다.
a 추가모드(Append). 파일을 열고, 파일의 끝부분에 씁니다. 혹은 파일이 존재하지 않으면 새 파일을 만듭니다.
a+ 읽기/추가모드(Read/Append). 파일의 끝에 씀으로서 파일 내용을 보존합니다.
x 오직 쓰기(Write only)만 합니다. 새 파일을 만듭니다. 파일이 이미 존재하면 FALSE와 오류를 반환합니다.
x+ 읽기/쓰기 모드(Read/Write). 새 파일을 만듭니다. 파일이 이미 존재하면 FALSE와 오류를 반환합니다.

참고: fopen() 함수가 파일을 열수 없을때는, 0 (false)를 반환합니다.

 

예제

아래 예제는 fopen()이 지정된 파일을 열수 없을때 지정한 메시지를 생성합니다:


<html>
<body>
<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
?>
</body>
</html>

 

파일 닫기


fclose() 함수는 열린 파일을 닫기 위해서 사용합니다:

<?php
$file = fopen("test.txt","r");
//some code to be executed
fclose($file);
?>

 

파일의 끝부분인지(End-Of-File, EOF) 확인하기

feof() 함수는 파일의 끝부분에 도달했는지(end-of-file, EOF) 체크하는 함수입니다.

feof() 함수는 특히 길이를 알 수 없는 데이터를 루프(looping, 반복문)돌때 매우 유용합니다. 

참고: w,a,x 모드로 열린 파일로부터는 읽을 수 없다는 사실을 꼭 기억하세요!

if (feof($file)) echo "End of file";

 

한줄씩 파일 읽어들이기

fgets() 함수는 파일로부터 하나의 줄(single line)을 읽어들일때 사용됩니다.


참고: 이 함수를 호출하고 나면, 파일 포인터는 다음줄로 옮겨집니다. 여기서 파일 포인터란, 파일을 조작할때, 파일의 조작이 가해지는 지점, 위치를 말합니다.

 

예제

아래 예제는 파일의 끝부분에 도달할때까지 파일을 한줄 한줄씩 읽어들입니다:


<?php
$file = fopen("welcome.txt", "r") or exit("Unable to open file!");
//끝부분에 도달할때까지 읽어들인줄을 출력.
while(!feof($file))
  {
  echo fgets($file). "<br />";
  }
fclose($file);
?>

 

한글자씩 읽어들이기

fgetc() 함수는 파일로부터 한 글자씩(single character) 읽어들이는데 사용됩니다.


참고: 이 함수를 호출하고 나면, 파일 포인턴느 다음 글자로 옮겨집니다. 여기서 파일 포인터란, 파일을 조작할때, 파일의 조작이 가해지는 지점, 위치를 말합니다.

 

예제

아래 예제는 파일의 끝부분에 도달할때까지 파일을 한글자 한글자씩 읽어들입니다:


<?php
$file=fopen("welcome.txt","r") or exit("Unable to open file!");
while (!feof($file)) 
  { 
  echo fgetc($file); 
  }
fclose($file);
?>
Sirjhswin

제주삼다수, 2L,... 오뚜기 진라면 매운... 상하목장 유기농 흰... 남양 프렌치카페 카... 고려인삼유통 홍삼 ... 종근당건강 오메가3... 요이치 카링 유무선...
  • 착한도매 2014.11.30 22:20 댓글주소 수정/삭제 댓글쓰기

    홍콩명품도매, 명품가방도매, 명품의류도매, 명품패딩도매 진행합니다.
    카톡 hkvvip 추가후 문의 바랍니다.

    현제 겨울철 명품패딩 도매 받습니다.
    캐나다구스, 몽클레어, 노비스, 파라점퍼스, 무스너클, CANADA GOOSE, Moncler, NOBIS, PARAJUMPERS
    MOOSE KNUCKLE 등등

    명품시계.명품가방.명품의류, 명품신발.명품지갑.명품벨트, 명품의류
    루이비통.샤넬.프라다.구찌

    저희는 현지에서 직접 제조 및 사입운영을 8년간 하고 있는 업체입니다.
    서로 믿고 오래오래 거래 하실분만 연락주세요..
    8년간 쌓아온 노하우를 사장님들께 전달해 드리겠습니다..

    길게 광고하지 않겠습니다.
    부담없이 연락주시면 상담 도와드리겠습니다.

    블로그 공구 진행합니다. 연락주세요....

    카톡: hkvvip

  • 착한도매 2014.12.08 00:55 댓글주소 수정/삭제 댓글쓰기

    홍콩명품도매, 명품가방도매, 명품의류도매, 명품패딩도매 진행합니다.
    카톡 hkvvip 추가후 문의 바랍니다.

    현제 겨울철 명품패딩 도매 받습니다.
    캐나다구스, 몽클레어, 노비스, 파라점퍼스, 무스너클, CANADA GOOSE, Moncler, NOBIS, PARAJUMPERS
    MOOSE KNUCKLE 등등

    명품시계.명품가방.명품의류, 명품신발.명품지갑.명품벨트, 명품의류
    루이비통.샤넬.프라다.구찌

    저희는 현지에서 직접 제조 및 사입운영을 8년간 하고 있는 업체입니다.
    서로 믿고 오래오래 거래 하실분만 연락주세요..
    8년간 쌓아온 노하우를 사장님들께 전달해 드리겠습니다..

    길게 광고하지 않겠습니다.
    부담없이 연락주시면 상담 도와드리겠습니다.

    블로그 공구 진행합니다. 연락주세요....

    카톡: hkvvip

  • 착한도매 2015.02.07 02:47 댓글주소 수정/삭제 댓글쓰기

    카.톡 hkvvip, 웨이신 hkvvip1 추가후 문의 바랍니다.
    홍콩명품 가방,지갑,시계,신발,의류등등 모든 제품 구매대행해 드립니다.
    (루이비통. 구찌, 샤넬, 지방시, 고야드, 고야드 생루이백, 샤넬woc백 블로그 구매대행및 모든 명품 최상급 제품만 선별) 도매 진행합니다.
    구매하고자 하시는 제품은 캡쳐해서 주문해 주시면 제품 문의후 1~2일 단가 및 제고 체크해서 답변드리겠습니다.

    카.스, 블로그 공구 하시는 사장님들 거래 많이 하고 있습니다.
    언제든 궁금하신점 문의주세요..

    카.톡 문의: hkvvip
    웨이신 문의: hkvvip1
    입니다. 언제든지 문의주세요..

    관리자님 게시판 성격에 맞지않는 글올려 죄송합니다.
    관리자님 웹사이트 운영에 방해가 되신다면 글 삭제번호 0000입니다.
    웹사이트 무궁한 발전을 기원합니다.