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

본문 바로가기
사이트 내 전체검색

php

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

페이지 정보

작성자 웹지기 댓글 0건 조회 7,596회 작성일 18-10-30 14:33

본문

 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

댓글목록

등록된 댓글이 없습니다.

Total 82건 2 페이지
  • 66 [ php ] json 배열 출력 방식에 따른 차이
  • $data = array('id' =&gt; '88', 'country' =&gt; 'Korea', 'brand' =&gt; 'Samsung, Sony'); 이와같은 값을 json_encode($data); 하면 echo json_encode($data); 다음처럼 출력 {"id":"88","country":"Korea","brand":"Samsung, Sony�...
  • 웹지기 11-06 7798 0 0 댓글 0
  • 열람중 [ php ] fopen() fwrite() file_put_contents, fgets(), fgetss(…
  • 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는 해당 체계에 대한...
  • 웹지기 10-30 7597 0 0 댓글 0
  • 64 [ php ] 다차원 배열 다중배열에 값 입력하기
  • [code] $aa_ary = array( aaa = array( 'TITLE'=&gt;'제목', 'GETTING STARTED'=&gt;'시작하기' ), bbb = array( 'TITLE'=&gt;'TITLE', 'GETTING STARTED'=&gt;'GETTING STARTED' ) ); print_r2($aa_ary); $aa_ary = array( array(), array(), ......
  • 웹지기 10-24 8158 0 0 댓글 0
  • 63 [ php ] $$aa, $$$aa 와 같은 형태로 푠현되는 가변변수
  • [code] &lt;?php $a = 'hello'; $$a = 'world'; echo ' ::: a ::: '.$a.' ::: $$a ::: '.${$a}; ?&gt; [/code] 이와 같은 형태의 값이 있을 때 [code] &lt;?php echo ' ::: $$a ::: '." $a $hello "; ?&gt; [/code] 와 같이 hello world를 출력 배열을 갖는 가변변수는 $$a[1] 를...
  • 웹지기 10-10 4511 0 0 댓글 0
  • 60 [ php ] 다차원 배열을 원하는 필드로 정렬하고 싶을 때
  • 데이터베이스 테이블을 모방 한 배열이 있다고 가정합니다.각 배열 요소는 행을 나타내며 각 행 내에서 필드 이름과 값을 포함하는 다른 배열입니다.[code]Array( [0] =&gt; Array ( [name] =&gt; 'Sony TV' [price] =&gt; 600.00 ) [1] =&gt; Array ( [name] =&gt; 'LG TV' [price] =&gt; 350.00 ...
  • 웹지기 10-04 3826 0 0 댓글 1
  • 59 [ php ] strstr() 문자열 함수
  • strstr() 함수는 찾고 싶은 문자를 찾은 후 그 이후 값까지 반환한다.대소문자 구분하지 않으려면 stristr() 함수를 사용하면 된다.함수의 원형은 다음과 같다.strstr() 함수 원형[code]string strstr ( string $haystack , mixed $needle [, bool $before_needle ] )[/code]인수- haystack : 입력 문자열- needle : 찾을 문자열- before_needle : 결과가 True이면(기본값은 FALSE) hayst...
  • 웹지기 10-01 5073 0 0 댓글 0
  • 58 [ php ] $_SERVER 옵션 및 사용설명
  • [code]$_SERVER['DOCUMENT_ROOT'] = 현재 사이트가 위치한 서버상의 위치 =&gt; /webapp/include$_SERVER['HTTP_ACCEPT_ENCODING'] = 인코딩 받식 =&gt; gzip, deflate$_SERVER['HTTP_ACCEPT_LANGUAGE'] = 언어 =&gt; ko$_SERVER['HTTP_USER_AGENT'] = 사이트 접속한 사용자 환경 =&gt; Mozilla/4.0(compatible; MSI...
  • 웹지기 10-01 5505 0 0 댓글 0
  • 57 [ php ] foreach 및 array
  • [code]$state_list = array( 1 =&gt; "모집중", 2 =&gt; "마감", 3 =&gt; "운영중");if(!array_key_exists($state, $state_list)) $state = 0;$arr_key = array( "ed_name" =&gt; "평생교육사명", "ed_subject" =&gt; &#...
  • 웹지기 10-01 4656 0 0 댓글 0
  • 56 [ php ] PHP 정규식
  • 파일이나 문자열 내에 포함되어 있는 특별한 패턴(또는 특별한 조건을 만족하는 문자열)을 검색하기 위해 미리 정의된 다양한 특수 문자들의 조합을 정규식(regular __EXPRESSION__)이라 한다. 정규식에서의 특수 문자(special character)는 다음과 같다.(1) ^ (caret) : 라인의 처음이나 문자열의 처음을 표시예 : ^aaa (문자열의 처음에 aaa를 포함하면 참, 그렇지 않으면 거짓)(2) $ (dollar) : 라인의 끝이나 문자열의 끝을 표시예 : aaa$ (문자...
  • 웹지기 10-01 3380 0 0 댓글 0
  • 55 [ php ] 게시판 권한, 그룹관리자 권한 수정시
  • /lib/common.lib.phpfunction is_admin 을 변경// 관리자인가?[code]function is_admin($mb_id){ global $config, $group, $board; if (!$mb_id) return; if ($config['cf_admin'] == $mb_id) return 'super'; //if ($group['gr_admin'] == $mb_id) return 'group'; //그룹관리자를 몽땅 만들기 위해 추가 2011.1.2 FREEMASTER...
  • 웹지기 10-01 6180 0 0 댓글 1
  • 54 [ php ] php로 디렉토리 삭제
  • php 디렉토리와 하위 파일까지 한꺼번에 삭제하는 함수[code]// 사용시 모든 데이터가 날아가므로 주의를 요함(Recursive)function LIB_removeAllData( $URL ){ if( is_dir( $URL )) { if( $dh = opendir( $URL ) ) { while( ( $file = readdir( $dh ) ) !== false ) { if( $file == '.' || $file == ".." ) continue; if( f...
  • 웹지기 09-30 4247 0 0 댓글 0
  • 53 [ php ] php 업로드 작성 및 파일 업로드 보안문제 - 7가지
  • 1.php,inc,html,htm,phtml,php3 등의 확장자는 절대로 올릴 수 없게 한다 !.txt 도 못올리게 합니다. .txt 를 사용해서 쿠키를 훔칠수도 있다.2.업로드 디렉토리는 무조건 htdocs 아래 말고 다른 디렉토리 에 올린다 !!/updir 이나 c:\updir 등 htdocs 와 관련이 없는 디렉토리에 올리게 한다. !!3.CP명령을 사용시에 exec(cp $file , 처럼 exec() 를 절대로 사용하지 말아야 한다.기냥 cp()만을 사용하라 !!!www.php.net/...
  • 웹지기 09-30 4774 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
4,744
어제
9,384
최대
33,828
전체
8,411,300

그누보드5
Copyright © funyphp.com. All rights reserved.