Zlib 압축

Zlib 압축

zlib 모듈은 gzip(.gz) 압축 파일을 투명하게 읽고 쓸 수 있게 해 주는 확장이에요. 대부분의 파일시스템 함수들이 gzip 압축 파일(그리고 압축되지 않은 파일도, 다만 소켓은 제외)과 함께 동작해요.

출처: PHP: Zlib Compression - Manual

본문

zlib 모듈은 gzip(.gz) 압축 파일을 투명하게 읽고 쓸 수 있게 해 줘요. 대부분의 파일시스템 함수들이 gzip 압축 파일과 함께 동작하는데, 압축되지 않은 파일에서도 동작하지만 소켓에서는 사용할 수 없어요.

참고: PHP는 .gz 파일을 위한 fopen 래퍼를 제공해요. 자세한 내용은 zlib://에 대한 섹션에서 확인할 수 있어요.

주요 함수

점진적 압축/해제

  • deflate_init, deflate_add — 점진적 deflate 컨텍스트 초기화/데이터 추가
  • inflate_init, inflate_add — 점진적 inflate 컨텍스트 초기화/데이터 추가
  • inflate_get_read_len — 지금까지 읽은 바이트 수 반환
  • inflate_get_status — 해제 상태 반환

일회성 압축/해제

  • gzcompress — 문자열 압축
  • gzdeflate — 문자열 deflate
  • gzencode — gzip 압축 문자열 생성
  • gzuncompress — 압축된 문자열 해제
  • gzinflate — deflate 문자열 inflate
  • gzdecode — gzip 압축 문자열 디코딩
  • zlib_encode, zlib_decode — 지정한 인코딩으로 압축/모든 raw·gzip·zlib 데이터 해제
  • zlib_get_coding_type — 출력 압축에 사용된 코딩 타입 반환

파일 함수

  • gzopen — gz-파일 열기
  • gzclose — 열린 gz-파일 포인터 닫기
  • gzread, gzwrite — 바이너리 안전한 gz-파일 읽기/쓰기
  • gzgets, gzgetc, gzgetss — 줄/문자/HTML 태그 제거 줄 읽기
  • gzfile — gz-파일 전체를 배열로 읽기
  • gzeof — gz-파일 포인터의 EOF 확인
  • gzrewind, gzseek, gztell — 위치 이동/탐색/위치 확인
  • gzpassthru — gz-파일 포인터의 남은 데이터 전부 출력
  • gzputsgzwrite의 별칭
  • readgzfile — gz-파일 출력
  • ob_gzhandler — gzip 출력 버퍼를 위한 ob_start 콜백

클래스

  • DeflateContext — deflate 컨텍스트 클래스
  • InflateContext — inflate 컨텍스트 클래스

더 알아보기