[php] PHP에서 ZIP 파일 생성하기

PHP를 사용하여 파일 및 폴더를 압축하고 ZIP 파일을 생성하는 것은 매우 간단합니다. 이를 위해 PHP에 내장된 ZipArchive 클래스를 사용할 수 있습니다.

1. ZipArchive 클래스 초기화하기

먼저, ZipArchive 클래스의 인스턴스를 생성하여 압축 작업을 수행할 준비를 합니다.

<?php
$zip = new ZipArchive();
$zipFileName = 'compressed.zip';

if ($zip->open($zipFileName, ZipArchive::CREATE | ZipArchive::OVERWRITE) !== TRUE) {
    die('Failed to create ZIP file');
}

2. 파일 또는 폴더 추가하기

다음으로, 압축할 파일이나 폴더를 추가합니다. 파일을 추가하려면 addFile 메서드를, 폴더를 추가하려면 addEmptyDir 메서드를 사용합니다.

// 파일 추가 예시
$filePath = 'example.txt';
$zip->addFile($filePath, 'example.txt');

// 폴더 추가 예시
$folderPath = 'folder';
$zip->addEmptyDir($folderPath);

3. ZIP 파일 저장 및 닫기

모든 파일이나 폴더를 추가한 후에는 ZIP 파일을 저장하고 압축 작업을 마무리합니다.

$zip->close();

이제 생성된 compressed.zip 파일에는 지정한 파일 및 폴더가 포함되어 있습니다.

요약

PHP에서 ZIP 파일을 생성하는 것은 매우 간단합니다. 위 예시를 참고하여 파일 또는 폴더를 압축하고 원하는 형식의 ZIP 파일을 만들어 보세요.

또한, 이 예시는 PHP 5.2.0 이상에서 사용 가능합니다.

참고: PHP 공식 문서 - ZipArchive 클래스