[ php ] fopen() fwrite() file_put_contents, fgets(), fgetss(), fgetcsv(), readfile(), 파일 읽기 쓰기 닫기 > php

본문 바로가기

사이트 내 전체검색

php

[ php ] fopen() fwrite() file_put_contents, fgets(), fgetss(), fgetcsv…

작성일 18-10-30 14:33

페이지 정보

작성자 웹지기 조회 7,615회 댓글 0건

본문

 fopen() // http://php.net/manual/kr/function.fopen.php

resource fopen ( string $filename , string $mode [, bool $use_include_path = false [, resource $context ]] )


fopen ()은 filename으로 지정된 자원을 모드로 읽어 들입니다.

filename이 "scheme : // ..."형식 인 경우 URL로 간주되며 PHP는 해당 체계에 대한 프로토콜 처리기 (래퍼라고도 함)를 검색합니다. 

해당 프로토콜에 대한 래퍼가 등록되어 있지 않으면 PHP는 스크립트에서 발생할 수있는 문제를 추적하고 파일 이름이 일반 파일을 지정하는 것처럼 계속 진행될 수 있도록 안내를 보냅니다.


PHP가 filename이 로컬 파일을 지정한다고 결정하면, 그 파일에 스트림을 열려고 시도합니다. 

이 파일은 PHP에서 액세스 할 수 있어야하므로 파일 액세스 권한에서이 액세스를 허용해야합니다. 

안전 모드 또는 open_basedir를 활성화 한 경우 추가 제한 사항이 적용될 수 있습니다


PHP가 filename이 등록 된 프로토콜을 지정하고 해당 프로토콜이 네트워크 URL로 등록되었다고 결정하면 

PHP는 allow_url_fopen이 활성화되어 있는지 확인합니다. 스위치가 꺼지면 PHP가 경고를 내고 fopen 호출이 실패합니다.


반환값

성공시 파일 포인터 리소스를 반환하고, 에러시에는 FALSE를 반환합니다.


오류 / 예외

열기가 실패하면 레벨 E_WARNING의 오류가 생성됩니다. 이 경고를 표시하지 않으려면 @를 사용할 수 있습니다.


[code]

<?php

$handle = fopen("c:\\folder\\resource.txt", "r");

$handle = fopen("/home/rasmus/file.txt", "r");

$handle = fopen("/home/rasmus/file.gif", "wb");

$handle = fopen("http://www.example.com/", "r");

$handle = fopen("ftp://user:password@example.com/somefile.txt", "w");

?>

[/code]

모드 모드 의미
r 읽기 모드 읽기 전용. 처음에서 시작.
r+ 읽기 모드 읽고 쓰기. 처음에서 시작.
w 쓰기 모드 쓰기 전용. 처음에서 시작. 기존 파일 삭제.
w+ 쓰기 모드 읽고 쓰기. 처음에서 시작. 기존 파일 삭제.
x 경고 쓰기 쓰기 전용. 처음에서 시작. 기존 파일이 존재하면 false 반환하고 경고.
x+ 경고 쓰기 읽고 쓰기. 처음에서 시작. 기존 파일이 존재하면 false 반환하고 경고.
a 추가 모드 쓰기 전용. 기존 파일의 끝에서 시작.
a+ 추가 모드 읽고 쓰기. 기존 파일의 끝에서 시작.
b 바이너리 모드 다른 모드와 합쳐 사용. 바이너리와 텍스트 파일을 구별하는 경우에만 사용할 수 있다. 윈도우즈에서는 구별하며 유닉스에서는 구별하지 않는다. 이동성을 높이기 위해 항상 이 모드를 사용하는 것이 좋다. 바이너리 모드가 기본값이다.
t 텍스트 모드 다른 모드와 합쳐 사용. 이 모드는 윈도우즈 시스템에서만 사용할 수 있다. 코드를 b 옵션으로 사용하도록 바꾸고 난 뒤가 아니라면 t 옵션은 사용하지 않는 편이 좋다.


fwrite(), fputs()는 동일  // http://php.net/manual/kr/function.fwrite.php

int fwrite ( resource $handle , string $string [, int $length ] )


fwrite () 는 handle에 의해 지시 된 파일 스트림에 string 내용을 씁니다 .

handle : 일반적으로 fopen()으로 생성하는 파일 시스템 포인터 resource.

string : 쓰여질 문자열입니다.

length : length 인수가 지정되면 (자), length 바이트가 기입 해졌을 경우, 또는 캐릭터 라인의 마지막에 이르렀을 때, 어느 쪽이든 먼저 도달하는 시점까지, 기입은 정지합니다.

            경우 생성합니다 length인수가 주어진 후, 매직 코트의 구성 옵션은 무시가되고 슬래시는에서 제거되지 않습니다 string.

            length 인수가 주어지면 magic_quotes_runtime 구성 옵션이 무시되고 문자열에서 슬래시가 제거되지 않습니다.

반환갑 : fwrite ()는 기록 된 바이트 수를 반환하고 오류가 발생하면 FALSE를 반환합니다.


int file_put_contents(string filename, string data[, int flags[, resource context])

// string file_get_contents(string filename)와 쌍을 이룬다.(아래 파일 읽기에서 설명)

// fopen, fclose 불필요. resource는 20장 네트워크와 프로토콜 함수에서


[code]

<?php

$fp = fopen('data.txt', 'w');

fwrite($fp, '1');

fwrite($fp, '23');

fclose($fp);


// the content of 'data.txt' is now 123 and not 23!

?>

[/code]



fclose()

파일 닫기


파일의 끝 : feof()


한 줄씩 읽기 : fgets(), fgetss(), fgetcsv()

fgets() : 한 줄씩 읽는다. 가장 기본

fgetss() : 태그 제거

fgetcsv() : 구분 문자로 나눠 배열에 저장


파일 전체 읽기 : readfile(), fpassthru(), file(), file_get_contents()

readfile() : int 형. 바로 출력

fpassthru() : boolean 형. 바로 출력

file() : array 형. 변수 저장

file_get_contents() : string 형. 변수 저장


임의의 길이 읽기 : fread()


file_exists() : 파일 존재 여부

filesize() : 파일의 크기

unlink() : 파일 지우기


파일 내부 탐색하기 : rewind(), ftell(), fseek()


추천0

비추천 0

댓글목록

등록된 댓글이 없습니다.

전체 82건 1 페이지

이미지 목록

게시물 검색
Copyright © 즐거운 코딩 생활 ( funyphp ). All rights reserved.
PC 버전으로 보기