Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP zip_entry_compressionmethod() 함수 완벽 가이드 – ZIP 항목 압축 방식 확인하기

zip_entry_compressionmethod() 함수는 ZIP 아카이브 내 특정 항목(entry)에 적용된 압축 방식(compression method)을 반환하는 PHP 함수입니다. 이 함수를 활용하면 ZIP 파일을 열지 않고도 각 항목이 어떤 방식으로 압축되어 있는지 손쉽게 확인할 수 있습니다.

문법(Syntax)

zip_entry_compressionmethod(zip_entry)

매개변수(Parameters)

  • zip_entry − 압축 방식을 확인할 ZIP 항목 리소스입니다. 필수 값이며, 일반적으로 zip_read() 함수가 반환한 항목 리소스를 전달합니다.

반환값(Return)

해당 ZIP 항목에 사용된 압축 방식을 문자열 형태로 반환합니다. 예를 들어, Deflate 알고리즘으로 압축된 항목이라면 deflated, 압축되지 않은 항목이라면 stored가 반환됩니다.

아래 예제를 살펴보겠습니다. new.zip 아카이브 안에 3개의 파일이 저장되어 있다고 가정하면, 반복문을 통해 각 파일의 압축 방식이 순서대로 출력됩니다.

예제(Example)

<?php
    $zip = zip_open("new.zip");
    if ($zip) {
        while ($zip_entry = zip_read($zip)) {
            echo "Compression Method = ". zip_entry_compression_method($zip_entry). "<br />";
        }
        zip_close($zip);
    }
?>

실행 결과(Output)

Compression Method = deflated
Compression Method = deflated
Compression Method = deflated

참고 사항

  • 위 예제에서는 zip_open()으로 ZIP 파일을 연 뒤, zip_read()로 항목을 하나씩 읽으면서 각 항목의 압축 방식을 출력합니다.

  • 작업이 끝나면 반드시 zip_close()를 호출하여 ZIP 리소스를 닫아주는 것이 좋습니다.

  • 참고로 PHP 7.4부터 Zip 확장 모듈 기반의 새로운 ZipArchive 클래스 사용이 권장되며, 기존의 zip_* 계열 함수는 향후 제거될 수 있으므로 신규 프로젝트에서는 ZipArchive::getStreamName() 등 대체 API를 고려하는 것이 바람직합니다.