PHP 파일시스템

(2019-01-15)

PHP 파일시스템 함수

1. 파일핸들에 의한 파일 처리 함수파일 오픈/닫기
      - 파일핸들 = fopen(파일명,모드) : 정해진 모드파일 오픈하고, 파일 핸들을 반환
         . 파일명
            .. 파일명에, 통신 프로토콜(ftp://, http://)도 명시 가능
         . 파일 모드 구분
            .. r : 읽기 전용, r+ : 읽거나 쓰기,
            .. w : 쓰기 전용, w+ : 읽거나 쓰기, (이미 있으면 덮어씀, 없으면 생성)
            .. x : 안전 쓰기, x+ : 안전 읽거나 쓰기, (이미 있으면 false 반환)
            .. a : 끝에 추가, a+ : 끝에서 읽거나 추가, (없으면 생성)
            .. c : 처음에 추가, c+ : 처음에서 읽거나 추가, (없으면 생성) 
            .. b : 바이너리 모드 (default), t : 텍스트 모드
         . [참고] 호환성을 위해, rb, ab(a+b) 처럼 바이너리 모드로 사용 권장
      - fclose(파일핸들) : 파일을 닫음

  ㅇ 파일핸들에 의한 읽기/쓰기
      - fread(파일핸들)  : 파일의 내용 읽기
      - fwrite(파일핸들) : 파일에 내용 쓰기

  ㅇ 파일핸들에 의해 한줄씩 읽고 파일끝이면 멈춤
      - fgets(파일핸들) : 한 줄씩 읽기
         . 파일 내용을 한줄씩 읽고 문자열(개행문자 포함)로 반환 
         . 현 위치는 다음 줄 처음에 둠
      - feof(파일핸들) : 파일 끝 여부
         . 파일 핸들파일 끝을 지나면 True 반환 
      * 例) while( (! feof(파일핸들)) && ($line = fgets(파일핸들)) { }

  ㅇ 파일핸들에 의한 파일 내부 이동
     - rewind(파일핸들) : 파일 맨 앞으로 파일핸들 이동
     - fseek(파일핸들,offset)  : 파일 특정 위치로 이동
     - ftell(파일핸들) : 파일핸들 현재 위치를 바이트 값으로 반환


2. 파일명에 의한 파일 처리 함수파일을 한번에 읽기/쓰기
      - file(파일명) 
         . 주어진 파일에서 각 줄(개행문자 포함) 마다 배열로 담아 반환
      - readfile(파일명)
         . 주어진 파일 내용을 모두 한번에 웹브라우저로 출력
      - 문자열 = file_get_contents(파일명 또는 URL) 
         . 주어진 파일명 또는 URL을 전달받고, 전체 파일 또는 웹페이지 내용을 문자열로 반환
      - file_put_contents(파일명,문자열)
         . 전달받은 문자열을 주어진 파일명으로 파일로 출력

  ㅇ 파일 크기
     - filesize(파일명)
        . 파일 크기를 바이트 값으로 반환

  ㅇ 파일 복사/삭제
     - copy(원본 파일명,복사 파일명)
     - unlink(삭제 파일명)

  ㅇ 파일 시간
     - filemtime(파일명) : 파일 시간 읽음
     - touch(파일명)     : 파일 시간 기록


3. 디렉토리(폴더) 처리 함수디렉토리(폴더) 처리
     - 생성 : mkdir()
     - 제거 : rmdir()

     - 열기 : 디렉토리 핸들 = opendir()
     - 읽기 : readdir(디렉토리 핸들)
     - 닫기 : closedir(디렉토리 핸들)

  ㅇ 디렉토리(폴더) 위치조정
     - chdir()
     - chroot()


4. 파일/디렉토리(폴더)의 정보 확인 함수디렉토리(폴더) 정보
     - dir()
     - rewinddir()
     - scandir()
     - getcwd() : 현재 PHP 스크립트 실행 파일이 위치한 전체 디렉토리 경로

  ㅇ path 또는 file 정보
     - pathinfo()
     - realpath()     : 실제 디렉토리의 경로 정보 리턴
        . (끝 파일명 직전 path delimiter `/` 생략)
        . 例) realpath('./') : 현재 경로 정보 리턴
     - dirname(path)  : 파일명 빠진 path 정보 만 반환
        . (끝 파일명 직전 path delimiter `/` 생략)
     - basename(path) : 파일명 만 반환

  ㅇ 존재 여부
     - 디렉토리 존재 : is_dir(디렉토리명)
     - 파일 존재 : file_exists(파일명)

  ㅇ 읽기/쓰기 권한 확인
     - 읽기 권한 : is_readable()
     - 쓰기 권한 : is_writable()


5. [참고사항]

  ㅇ 경로 구분자
     - / 만 가능 : Unix/Linux
     - \ 또는 / 모두 가능 : 윈도우즈
     * 따라서, 경로 구분자를 / 로 쓰는 것이 좋음


[PHP 함수,활용] 1. PHP 함수 2. PHP 문자열 3. PHP 파일시스템 4. PHP 네트워킹

 
        최근수정     요약목록     참고문헌