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

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

php

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

페이지 정보

작성자 웹지기 댓글 0건 조회 13,263회 작성일 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건 1 페이지
  • 82 [ php ] 상대경로와 절대경로, 열린문서의 절대경로, 상대경로, url, uri 나타내기
  • 1. 절대경로 - 어떠한 웹페이지나 파일이 가지고 있는 고유한 경로를 말한다. - 예를들어 https://funyphp.com, C:\users\document\funyphp.jpg 등을 모두 절대 경로라고한다. - 다르게는 '그 위치'라는 개념이라고 말할 수 있는데 주소라고 생각하면 이해하기 더 쉽다. - 예를 들어 내가 만약 d:\file 또는 c:\file\img.jpg 등 절대 경로를 알고 있으면 그곳으로 바로 이동하거나 그곳에 있는 파일을 바로 실행 가능하다는 것. - 따라서, ...
  • 웹지기 11-07 34272 0 0 댓글 0
  • 80 [ php ] php 로 소켓 서버 작성하기
  • PHP로 소켓 서버 작성하기작성자 김영진(cogolda@hanmail.net)대상 독자요구사항1 개요 - 소켓 서버란 무엇인가?1.1 소켓의 형태2 PHP 소켓 함수2.1 PHP에서 소켓 만들기2.2 실용 서버 만들기2.3 실용적인 예2.4 보안가능한 기능 추가와 확장저자에 관해알아두기이 자료는 http://www.zend.com/zend/tut/tutorial-staub3.php/에 있는Writing Socket Servers in PHP를 제가 허접번역 및 내용을 추가 및 생략한 것입니다.이미...
  • 웹지기 09-27 30126 0 0 댓글 0
  • 79 [ php ] phpsocket.io 사용법
  • Start php start.php start for debug mode php start.php start -dfor daemon mode php start.php restart Stop php start.php stop Status php start.php status
  • 웹지기 05-08 23780 0 0 댓글 0
  • 78 [ php ] [ class ] 클래스( class )에서 지시자( -> )의 의미
  • 객체는 자신만의 변수와 함수 가질 수 있습니다. 객체에서 변수, 함수는 각각 멤버변수 , 메쏘드 라고 불립니다.class test { var $a;// 멤버변수 (클래스 안에서 변수를 정의 할때는 var를 반드시 적어 주어야 한다.) var $b; function aaa() {// 메쏘드 (클래스안의 함수를 메쏘드 라고 한다.) $this-&gt;abcd = " 알파벳";// 메쏘드안에서 변수 정의할 때는 $this를 붙혀 준다. }}위와 같이 test 란 class 가...
  • 웹지기 09-30 23329 0 0 댓글 0
  • 77 [ php ] 파일 확장자 구하기 여러가지 방법
  • [code] &lt;?php $filename = "mypage.asp"; //1 strrchr함수를 사용해서 확장자 구하기 $ext = substr(strrchr($filename, '.'), 1); echo$ext; echo"&lt;br&gt;"; //2 strrpos 함수와 substr함수를 사용해서 확장자 구하기 $ext = substr($filename, strrpos($filename, '.') + 1)...
  • 웹지기 09-19 22610 0 0 댓글 0
  • 76 [ php ] facebook sharer를 이용할 경우 부가 메타데이터 넣는 방법
  • 페이스북 쉐어러를 사용할때는 http://www.facebook.com/sharer/sharer.php?u=공유할 url 만 입력하면 된다. 하지만, 해당 URL에 대한 대표 이미지나, 설명같은 것은 무작위 또는 가장 강조되는 테그를 가져오기때문에 목적이 그냥 특정 URL을 공유하는 것이라면 상관없지만 이게아니라면 의도치않은 결과가 나올 수 있다. 이런 부분을 해소하기 위해서 페이스북에서는 메타데이터를 이용해 특정 정보를 가져온다. 추가할 수 있는 메타 데이터들에는 url,...
  • 웹지기 09-19 19180 0 0 댓글 0
+1
  • 74 [ php ] PHP에서 CSV 로 내보내기
  • csv 아웃풋용 파일을 하나 만들어두시고 링크------------------------------------------------------------------------------------------------ csv_output.php[code]&lt;?include "환경 설정 파일들";// DB를 정의합니다. 여기서는 DB 클래스 파일을 include해서 사용했습니다.$DB = new DB_Mysql($WEB_HOST,$WEB_USER,$WEB_PASS,$W...
  • 웹지기 09-28 16606 0 0 댓글 0
  • 73 [ php ] htmlspecialchars 와 json 의 관계
  • htmlspecialchars는 특수문자를 HTML 엔티티로 변환해준다. 수행되는 번역 Character Replacement &amp;(ampersand) &amp;amp; "(double quote) &amp;quot;, unles...
  • 웹지기 12-04 15057 1 0 댓글 1
  • 72 [ php ] php 7.2 count() 사용시 에러 조치
  • Severity: Warning --&gt; count(): Parameter must be an array or an object that implements Countable 기존에는 빈값일 때 문제 없었는데, 7.2버젼에서는 빈값이면 0이 아니기 때문에 오류가 발생했다. if(count($num) &gt; 0) { echo "test"; } 이부분에서 문제가 생겨서 다음처럼 수정을 했다. i...
  • 웹지기 06-08 14613 0 0 댓글 0
  • 71 [ php ] 위도 경도로 직선거리 계산하기
  • 첫번째 위도 경도, 두번째 위도 경도 를 통해서 직선거리 구하기 함수를 만들고 그에 해당하는 위도와 경로를 설정해서 거기를 환산해보면 된다. 값은 거리상의 km이다 소수점 아래 몇짜리까지 사용할 것인지는 알아서 판단하면 된다. &lt;?php /** * Calculates the great-circle distance between two points, with * the Haversine formula. * @param float $latitu...
  • 웹지기 10-03 14268 0 0 댓글 0
  • 70 [ php ] foreach() 오류 Invalid argument supplied for foreach()
  • Invalid argument supplied for foreach() 이러한 오류가 발생하는것은 foreach에 검색하는 변수의 값이 비어있기 때문. 어쩔수 없이 빈값인지 확인해야 한다. if(!emepty($변수)) { foreach($변수 AS $key) { echo "샬랄라"; } } 이런식으로 감싸줘야 ㅡㅡ;;
  • 웹지기 06-08 14132 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 13264 0 0 댓글 0
  • 68 [ php ] json 한글 깨지는 현상 해결
  • 배열을 json_encode()해서 json으로 바꿀 때 한글 값이 유니코드로 깨져 들어가는 현상을 해결하는 방법PHP 버젼별로 다르게 구현PHP 5.3 이하function my_json_encode($arr){ //convmap since 0x80 char codes so it takes all multibyte codes (above ASCII 127). So such characters are being "hidden" from normal json_encoding ar...
  • 웹지기 08-28 13263 0 0 댓글 0
게시물 검색

회원로그인

접속자집계

오늘
8,682
어제
19,866
최대
61,067
전체
16,469,796

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