[php] PHP에서 ZIP 파일의 압축 방법 선택하기

PHP를 사용하여 파일을 ZIP으로 압축하는 방법은 여러 가지가 있습니다. 본 포스트에서는 PHP 내장 함수와 외부 라이브러리를 사용하는 두 가지 방법을 살펴보겠습니다.

PHP 내장 함수 사용

PHP에는 ZIP 파일을 조작하기 위한 내장 함수인 zip_open, zip_read, zip_close 등이 있습니다. 이 내장 함수들을 사용하여 파일 및 디렉터리를 압축하고 해제할 수 있습니다.

아래는 PHP 내장 함수를 사용하여 ZIP 파일을 생성하는 예제입니다.

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

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

외부 라이브러리 사용

PHP 내장 함수 외에도 외부 라이브러리를 사용하여 ZIP 파일을 생성할 수 있습니다. 그중에서도 ZipArchive 클래스는 PHP 5.2.0 이상에서 사용할 수 있는 효율적이고 쉽게 사용할 수 있는 방법입니다.

아래는 ZipArchive 클래스를 사용하여 파일을 ZIP으로 압축하는 예제입니다.

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

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

결론

PHP에서는 내장 함수와 외부 라이브러리를 사용하여 ZIP 파일을 생성할 수 있습니다. 필요에 따라 적절한 방법을 선택하여 파일을 효율적으로 압축하고 해제할 수 있습니다.

이 글은 PHP 공식 문서를 참고하여 작성되었습니다.