Zip 압축
Zip 압축
Zip 확장은 ZIP 압축 아카이브와 그 안의 파일들을 투명하게 읽고 쓸 수 있게 해 주는 확장이에요. 압축·해제 세부 사항은 내부에서 처리되니 아카이브를 자연스럽게 다룰 수 있어요.
본문
이 확장은 ZIP으로 압축된 아카이브와 그 안의 파일들을 투명하게 읽거나 쓸 수 있게 해 줘요. ZipArchive 클래스를 중심으로 아카이브를 열고, 파일을 추가·추출하고, 압축 방식과 암호화까지 다룰 수 있어요.
ZipArchive 클래스
ZipArchive는 ZIP 아카이브를 다루는 주요 클래스로, 메서드가 아주 많아요. 핵심적인 것들만 정리하면 이래요.
파일 추가·삭제
ZipArchive::addEmptyDir,addFile,addFromString— 디렉터리·파일 추가ZipArchive::addGlob,addPattern— glob/PCRE 패턴으로 파일 추가ZipArchive::deleteIndex,deleteName— 항목 삭제ZipArchive::renameIndex,renameName— 항목 이름 변경ZipArchive::replaceFile— 파일 교체
열기·닫기·추출
ZipArchive::open— ZIP 파일 아카이브 열기ZipArchive::close— 활성 아카이브 닫기ZipArchive::extractTo— 아카이브 내용 추출
읽기·정보
ZipArchive::getFromIndex,getFromName— 항목 내용 반환ZipArchive::statIndex,statName— 항목 상세 정보ZipArchive::getNameIndex,locateName— 이름/인덱스 조회ZipArchive::count— 아카이브 안 파일 수ZipArchive::getStream— 항목의 파일 핸들러 획득
설정·변경
ZipArchive::setCompressionIndex,setCompressionName— 압축 방법 설정ZipArchive::setEncryptionIndex,setEncryptionName— 암호화 방법 설정ZipArchive::setPassword— 활성 아카이브의 비밀번호 설정ZipArchive::setCommentIndex,setCommentName,setArchiveComment— 주석 설정ZipArchive::unchangeAll,unchangeArchive— 변경 사항 되돌리기
지원 확인
ZipArchive::isCompressionMethodSupported— libzip이 압축 방법을 지원하는지 확인ZipArchive::isEncryptionMethodSupported— 암호화 방법을 지원하는지 확인
콜백
ZipArchive::registerProgressCallback,registerCancelCallback— 닫기 중 진행/취소 콜백 등록
Zip 함수 (절차형)
ZipArchive 클래스가 생기기 전의 레거시 절차형 함수들도 남아 있어요.
zip_open— ZIP 파일 아카이브 열기zip_close— ZIP 파일 아카이브 닫기zip_read— 아카이브에서 다음 항목 읽기zip_entry_open,zip_entry_read,zip_entry_close— 특정 항목 열기·읽기·닫기zip_entry_name— 항목 이름 반환zip_entry_compressedsize— 압축된 크기 반환zip_entry_compressionmethod— 압축 방법 반환zip_entry_filesize— 실제 파일 크기 반환
더 알아보기
- PHP: Zip 클래스 - Manual — ZipArchive 상세 레퍼런스
- PHP: Zip 함수 - Manual — 레거시 절차형 함수