PHP의 zip_open() 함수는 지정된 ZIP 파일을 읽기 모드로 여는 내장 함수입니다. 파일 열기에 성공하면 유효한 ZIP 파일 리소스를 반환하고, 실패하면 FALSE를 반환합니다.
구문
zip_open(zip_file)
매개변수
zip_file − 읽기 위해 열고자 하는 ZIP 파일의 경로입니다.
반환값
파일 열기에 성공하면 열린 ZIP 파일 리소스를 반환하고, 실패하면 FALSE를 반환합니다.
참고 사항
반환된 리소스는 모든 작업이 끝난 후 반드시 zip_close() 함수로 닫아주어야 합니다. 또한 최신 프로젝트에서는 절차적 방식의 zip_* 함수보다 객체 지향 방식의 ZipArchive 클래스를 사용하는 것이 더 안전하고 권장됩니다.
예제
<?php
$zip = zip_open("new.zip");
if ($zip) {
while ($zip_entry = zip_read($zip)){
echo "압축 크기: ". zip_entry_compressedsize($zip_entry). "<br/>";
}
zip_close($zip);
}
?>
코드 설명
위 예제는 다음과 같은 순서로 동작합니다.
1. zip_open()으로 new.zip 파일을 열어 리소스를 변수 $zip에 저장합니다.
2. 조건문으로 파일이 정상적으로 열렸는지 확인합니다.
3. zip_read()를 통해 압축 파일 내부의 각 항목(entry)을 하나씩 순회합니다.
4. zip_entry_compressedsize()로 각 항목의 압축된 크기를 화면에 출력합니다.
5. 모든 작업이 끝나면 zip_close()로 파일 리소스를 닫아 자원을 해제합니다.
출력
압축 크기: 90 압축 크기: 12 압축 크기: 67