1. <?php
  2.   // 파일 내용 가져오기
  3.   /* 
  4.     "파일과 프로그램 사이에서
  5.      데이터의 교환은 스트림을 통해서 이루어집니다."
  6.     라고 저장된 txt파일가져옵니다.
  7.     
  8.     파일 위치는 로컬 시스템 php파일위치와 동일한 곳입니다. 
  9.   */
  10.   $fname = "text1.txt";
  11.   
  12.   // 파일 열기
  13.   $fmodify = fopen($fname, "a+");
  14.   //fopen옵션 -> a+ : 파일 읽고 쓰기 | r : 읽기 | w : 쓰기
  15.   
  16.   
  17.   // feof() 함수는 파일 끝인지 확인
  18.   while(!feof ($fmodify)){
  19.     // 파일 읽기 기능 함수 -> fgets()과 fread()
  20.      $fcontents .= fgets($fmodify, 128);
  21.     //$fcontents .= fread($fmodify, 128);
  22.      // 읽을때 128 byte 가져오기
  23.   }
  24.   // 가져온 내용을 출력 내용
  25.   // 파일과 프로그램 사이에서데이터의 교환은 스트림을 통해서 이루어집니다.
  26.   echo $fcontents;

  27.   // 파일 용량 출력
  28.   // 95
  29.   echo "<br>".filesize($fname);
  30.   
  31.   // 파일 길이 제한길이 넘을시 초기화
  32.   if(filesize($fname) > 150){
  33.     // 파일 쓰기 모드
  34.     $fmodify_w = fopen($fname, "w");
  35.     $default = "파일과 프로그램 사이에서". 
  36.     "데이터의 교환은 스트림을 통해서 이루어집니다.";
  37.     
  38.     // 파일 내용 덮어쓰기
  39.     fputs($fmodify_w , $default);
  40.     /* 저장 내용
  41.         파일과 프로그램 사이에서데이터의 교환은 스트림을 통해서 이루어집니다.
  42.     */
  43.     echo "<br>파일 초기화";
  44.     /* 출력 내용
  45.         파일과 프로그램 사이에서데이터의 교환은 스트림을 통해서 이루어집니다.
  46.         추가내용쓰기 추가내용쓰기 추가내용쓰기 추가내용쓰기 추가내용쓰기
  47.         추가내용쓰기 추가내용쓰기 
  48.         160
  49.         파일 초기화
  50.     */
  51.     fclose($fmodify_w);
  52.   }
  53.   else{
  54.     // 파일 쓰기 기능 함수 -> fputs()과 fwrite()
  55.     fputs($fmodify, "\n추가내용쓰기");
  56.     //fwrite($fmodify, "\n추가내용쓰기");
  57.    /* 저장 내용
  58.         파일과 프로그램 사이에서데이터의 교환은 스트림을 통해서 이루어집니다.
  59.         추가내용쓰기
  60.         라고 저장됨
  61.     */
  62.   }
  63.   
  64.   // 파일 닫기
  65.   fclose($fmodify);
  66. ?>

--------------------------------------------------------------------------------------------


파일 기본 문법


// 파일 열기 (13.35. 라인)

fopen("파일명", "파일모드");

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

※ 파일모드

r : 읽기(포인터 앞) | r+ : 읽고쓰기(포인터 앞)

w : 쓰기(포인터 앞), 파일생성 | w+ : 읽고쓰기(포인터 앞), 파일생성

a : 쓰기(포인터 뒤), 파일생성 | a+ : 읽고쓰기(포인터 뒤), 파일생성 

x : 쓰기(포인터 앞), 파일생성, 파일존재시 에러 

x+ : 읽고쓰기(포인터 앞), 파일생성, 파일존재시 에러 

c : 쓰기(포인터 앞), 파일생성, 파일존재시 에러, 잠금모드시 사용[flock()함수]

c+ : 읽고쓰기(포인터 앞), 파일생성, 파일존재시 에러잠금모드시 사용[flock()함수]

b : 해당 파일을 바이너리로 인식하고 라인 구분안하고 처리(r,w,a,x,c 다 옆에 추가 가능함)


// 파일 끝 확인 (18. 라인)

feof("파일명")

bool feof ( resource $handle )

fputs("파일명","문자열");

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


// 파일 닫기(52.66. 라인)

fclose("파일명");

bool fclose ( resource $handle )


fopen()함수는 로컬 시스템 파일을 열어 스트림을 생성할때 사용합니다.

또한 http://, ftp:// 으로 시작하는 인터넷 상의 파일도 열수 있습니다.

php.ini.에서 allow_url_fopen 지시어를 On 해서 기능을 활성화 되면,

파일 관련 함수에서 파일 이름에 http나 ftp의 url을 사용 할 수 있습니다.

그리고 include문와 require문에 대해서도 url을 사용 할 수 있습니다.


feof()함수는 파일이 끝났는지 확인합니다.

filesize()함수는 파일 용량을 반환합니다.

fgets()함수와 fread()함수는 파일 스트림 후 파일을 읽습니다.
fputs()함수와 fwrite()함수는 파일 스트림 후 파일을 씁니다.

fclose()함수는 열려있는 파일을 닫고 메모리가 비워져 파일과의 연결이 끊어집니다.



:
BLOG main image

공지사항

카테고리

분류 (356)
main (1)
php5 (218)
HTML (36)
javascript (93)
IT 이론과 퍼온정보 (8)
깨작일상 (0)
곧 추가할 내용 (0)
추후 알아볼것들... (0)

최근에 올라온 글

최근에 달린 댓글

최근에 받은 트랙백

달력

«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Total :
Today : Yesterday :