끄적끄적

반응형

파일 열기


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

?>


반응형
Please Enable JavaScript!
Mohon Aktifkan Javascript![ Enable JavaScript ]