본문 바로가기

[ programing ]/PHP

PHP 파일 함수


fopen( 파일명, 파일모드, 인크루트 경로 ) 

- 문서, 그림 등의 외부파일을 열어주는 함수로 열고싶은 파일의 경로와 파일모드는 설정내용을 인자로 받아들이고 파일모드는 반드시 설정 해야만 사용이 가능


fclose( fopen(), 함수로 설정한 $변수명 ) 

- 열린파일을 닫아주는 함수로 fopen()를 사용한 다음에는 반드시 close()함수로 파일을 닫아주어야 한다.



file_exists( 파일경로 ) 

- 파일이 존재하는지 검사, 파일이 존재하면 1, 존재하지 않으면 0



filesize( 파일 ) 

- file() 함수로 불러온 파일의 크기를 byte단위로 알려주는 함수이며 

  영문은 1바이트로 계산되고 한글과 엔터키를 눌렀을 경우에는 2바이트로 계산된다.

  안녕하세요(10바이트) / ... (3바이트) / 엔터(2바이트) / HI~(3바이트)로 계산



fread( 파일포인터, 크기 )

-파일의 데이터를 읽을때 사용되며 파일 포인터 위치에서 파일의 크기만큼 읽어서 문자열을 반환해 주고, 2진수 파일인 바이너리로 읽는다. 

-파일 포인터란 파일의 주소값을 의미하며, 파일 주소부터 크기 만큼 읽어 온다.



fwrite( 파일 포인터, 내용 )

- 파일의 데이터를 기록할때 사용한다.

-파일 포인터 위치에 문자열을 기록하고 바이너리로 쓴다. 

-length값이 주어지지 않았을 경우에는 주어진 문자열 길이만큼 기록하며, 실제 문자열보다 긴 문자열의 길이가 주어지면 문자열의 길이만큼만 기록한다.





흐름 >


- extest.txt 파일의 내용을 읽어와 'happy.txt' 파일이 새로 만든다. 



$fn= "extest.txt"


if(file_exists($fn)) 으로 존재 유무를 확인


$fp = fopen($fn, "r") 로 파일 읽기전용 모드로 파일을 열어준 후


$content = fread($fp, filesize($fn)) 로 읽어 온다.



$content = str_replace( "\n", "<br">, $content);에서 원본 파일 extest.txt 에서 줄바꿈(\n)이 있는 곳에 <br> 태그를 삽입하여 

새로운 파일에 기록할 데이터를 echo $content로 출력한다. 


$fw = fopen("happy.txt", "a"); 에서 파일모드 a는 파일이 존재하면 그 파일의 끝에 덧붙여 쓰고, 

없으면 새파일( happy.txt )을 만든 다음 fopen() 함수로 파일을 연다.




$fwrite( $fw, $content); 에서 새롭게 생성된 'happy.txt' 파일에 extest.txt 의 파일 데이터를 기록한다.


fclose()함수를 이용하여 닫는다.