파일 입, 출력, 확인

Language/PHP 2010. 11. 29. 15:38

 

fopen(filename, mode) :

파일이나 URL을 열고 파일포인터를 반환한다.
정상적으로 open 되지않았다면 파일포인터는 false 값(0)이 반환된다.

첫 번째인자는 open 할 파일이름이고 2번째 인자는 1번째 인자인 파일을 open할 때의 mode 이다.
이 모드는 다음과 같은 것이 올수있다.

 

r: 파일 읽기 모드(file pointer는 해당파일의 처음에 위치한다)
r+: 파일 읽기/쓰기 모드
w: 파일 쓰기 모드(해당 파일이 있으면 overwrite 하고 해당 파일이 없으면 그 이름의 파일을 새로 만든다.    file pointer는 해당파일의 처음에 위치한다)
w+: 파일 읽기/쓰기 모드
a: 파일 쓰기 모드(만약 해당 파일이 없으면 그 이름의 파일을 새로 만든다    file pointer는파일의 맨 마지막 지점을 가르킨다)
a+: 파일 읽기/쓰기 모드(해당 파일이 없으면 그 이름의 파일을 새로 만든다)

 

예)

$fp = fopen("gildong.htm", "r");

 

위에서는  gildong.htm  이란 파일을  read 모드로 open 한다.

 

 fclose(fp) :  열린 파일포인터(fp)를 닫는다.

 

fread(fp, length) :   open 된 파일내용을 binary 로 읽어온다. 첫 번째인자는 file pointer 이고 2번째 인자는 읽어올 byte 갯수이다.

 

예)

<?

$fp = fopen("/home/Jin/test.dat","r");

if(!fp){

  echo("파일열기 실패");

}

$content = fread($fp , 50);

echo("$content");

fclose($fp);

?>

 

위에서는 test.dat 파일에서 50byte를 읽어온다.

만일 위에서 파일 전체 내용을 모든 내용을ㅇ ㅣㄺ어오려면 다음과 같은 함수 filesize()를 사용한다.

 

$content = fread($fp , filesize("/home/Jin/test.dat"));

 

filesize(filename) : 파일의 크기를 byte 단위로 반환한다.

fwrite(fp, string ,[length]);
이 함수에는 3개의 인자를 쓸 수 있다.
첫번째는 파일이름, 두번째는 write 할 내용, 세번째는 write 할 바이트 수이다.
여기서 세번째 인자는 선택 사양이다(그래서 [ ] 표시로 묶었다).
세번째 인자 생략되면 두번째 인자의 모든 내용을 전부 write  한다.

 

예)

 

<?

 $fp = fopen("/home/Jin/test.dat", "a");

if(!fp){

  echo("파일 열기 실패");

}

$str="안녕하세요";

fwrite($fp , $str);

fclose($fp);

?>

 

fgets(fp, length) : 파일을 한줄씩 읽는다.

feof(fp) : 파일의 끝(end-of-file) 인지를 check 한다.

fgetc(fp) : 파일에서 문자단위로 읽는다.

 

예)

<?

 $fp = fopen("/home/Jin/test.dat", "r");

if(!fp){

  echo("파일열기 실패");

}

while(!feof($fp)){

 $char = fgetc($fp);

 if(!strcmp($char , "\n")){

   $chr = "<br>";

 }

 echo("$line");

 fclose($fp);

?>

 

 

file(filename) : 파일 전체를 읽어 라인단위로 array 에 저장한다. 이때는 파일 포인터를 사용할 필요가 없다.

예)

<?

 $file_name = "/home/Jin/test.dat";

 $line = file($file_name);

 while(lis($key , $val) = each($line)) {

   echo("$val<br>");

 }

?>

 

위에서는 test.dat 파일을 읽어 라인단위로 브라우저 화면에 출력한다.

 

unlink(filename) : 파일을 삭제 한다.

file_exists(filename): 주어진 파일명이 존재하는지 검사하여 존재하면 true(1), 존재않으면 false(0) return

 

is_executable(filename) : 주어진 파일명이 실행가능한 파일인지 검사

is_readable(filename) : 주어진 파일명이 read 가능한 파일인지 검사

is_writetable(filename) : 주어진 파일명이 write 가능한 파일인지 검사

chmod(filename, mode) : 파일 모드를 바꾸는 함수이다. 바꿨으면 true값. 못바꿨으면 false 값을 나타낸다. 파일 모드는 유닉스의 파일 퍼미션(Permission)에 해당한다.  예로 유닉스 파일 Permision 0644(앞의 0은 8진수 의미)는 파일 소유자 (owner)=read/write, 그룹=read , 다른 사람(others)=read 퍼미션에 해당한다.

mkdir(name, mode) : 인자 name 으로 주어진 디렉토리를 생성한다(mode는 생성시 디렉토리 모드 지시)

rmdir(name) : 디렉토리를 제거한다

 

opendir(path):
인자(path)로 주어진 디렉토리를 open한다.
성공하면 디렉토리  핸들(handle) 이 return 되고 물론 실패시는 false 값 return.
open후에는 디렉토리 핸들을 이용해 그 디렉토리 안의 모든 파일들을 읽을 수 있다.

closedir(dir_handle): 디렉토리 핸들을 닫는다.

read_dir(dir_handle):
디렉토리의 모든 파일 및 서브디렉토리 이름을 array 로 return 한다.

 

chdir(dir_name) : 디렉토리를 바꾼다.

[출처] PHP 파일관련 함수|작성자 매화

'Language > PHP' 카테고리의 다른 글

이미지 태그 추출 코드  (0) 2010.12.13
fread , fgets 차이점  (0) 2010.11.29
basename()  (0) 2010.11.04
chr, ord, mb_strlen(한글 길이 리턴)  (0) 2010.10.27
ajax + php  (0) 2010.10.19
: