[php] PHP에서 ZIP 파일을 생성할 때 파일 압축 유형 선택하기

파일을 ZIP으로 압축하는 기능은 PHP에서 자주 사용됩니다. PHP는 ZipArchive 클래스를 사용하여 ZIP 파일을 생성하거나 다룰 수 있습니다. ZIP 파일을 생성할 때, 파일을 저장할 디렉토리와 파일 압축 유형을 선택할 수 있습니다.

ZipArchive 클래스로 ZIP 파일 생성하기

PHP의 ZipArchive 클래스는 ZIP 파일을 생성하고 다루는데 사용됩니다. 아래는 ZipArchive 클래스를 사용하여 ZIP 파일을 생성하는 예제입니다.

<?php
$zip = new ZipArchive;
$zipFileName = 'example.zip';

if ($zip->open($zipFileName, ZipArchive::CREATE) === TRUE) {
    $zip->addFile('file_to_compress.txt', 'file.txt');
    $zip->close();
    echo 'ZIP 파일이 생성되었습니다.';
} else {
    echo 'ZIP 파일을 생성하는데 실패했습니다.';
}
?>

이 코드는 file_to_compress.txt 파일을 file.txt로 이름을 변경하여 example.zip 이라는 ZIP 파일에 압축하는 예제입니다.

파일 압축 유형 선택하기

ZipArchive::setCompressionName 메서드를 사용하여 파일 압축 유형을 선택할 수 있습니다. 아래는 파일 압축 유형을 선택하여 ZIP 파일을 생성하는 예제입니다.

<?php
$zip = new ZipArchive;
$zipFileName = 'example.zip';
$compressionLevel = ZipArchive::CM_DEFAULT; // 압축 유형 선택

if ($zip->open($zipFileName, ZipArchive::CREATE) === TRUE) {
    $zip->setCompressionName('file.txt', $compressionLevel);
    $zip->addFile('file_to_compress.txt', 'file.txt');
    $zip->close();
    echo 'ZIP 파일이 생성되었습니다.';
} else {
    echo 'ZIP 파일을 생성하는데 실패했습니다.';
}
?>

위의 예제에서 ZipArchive::CM_DEFAULT는 파일을 압축할 때 디폴트로 선택된 압축 유형입니다. 필요에 따라 다른 압축 유형을 선택할 수 있습니다.

PHP에서 ZIP 파일을 생성하면서 파일 압축 유형을 선택하는 방법에 대해 알아보았습니다. 위의 예제 코드를 참고하여 자신의 PHP 프로젝트에 파일 압축 기능을 추가할 수 있습니다.

참고 자료