[php] PHP의 ZipArchive 클래스 사용하기
PHP에서 파일 및 디렉터리를 압축하고 해제하는 작업은 흔한 작업입니다. PHP는 Zip 파일을 다루는 표준 라이브러리를 제공하는데, 이를 위해 ZipArchive 클래스를 사용할 수 있습니다.
이 포스트에서는 PHP의 ZipArchive 클래스를 사용하여 파일과 디렉터리를 압축하고 해제하는 방법에 대해 알아보겠습니다.
ZipArchive 클래스 소개
ZipArchive 클래스는 PHP에 기본으로 포함된 클래스로, Zip 파일을 만들거나 열어서 파일을 추가하거나 추출하는 기능을 제공합니다. 이 클래스를 사용하여 PHP 애플리케이션에서 Zip 파일을 생성하고 관리할 수 있습니다.
Zip 파일 생성하기
우선 Zip 파일을 생성하는 방법부터 알아보겠습니다. 아래의 예제 코드는 ZipArchive 클래스를 사용하여 “example.zip”이라는 이름의 Zip 파일을 생성하고, “file1.txt”과 “file2.txt”라는 두 개의 파일을 추가하는 예제입니다.
<?php
// Zip 파일 생성
$zip = new ZipArchive;
if ($zip->open('example.zip', ZipArchive::CREATE) === TRUE) {
// 파일 추가
$zip->addFile('file1.txt', 'file1.txt');
$zip->addFile('file2.txt', 'file2.txt');
// Zip 파일 닫기
$zip->close();
echo 'Zip 파일이 생성되었습니다.';
} else {
echo 'Zip 파일을 생성할 수 없습니다.';
}
?>
Zip 파일 압축 해제하기
이번에는 Zip 파일을 압축 해제하는 방법에 대해 알아보겠습니다. 아래의 예제 코드는 “example.zip”이라는 Zip 파일을 열고, 내부의 파일을 “extract_folder”라는 디렉터리에 추출하는 예제입니다.
<?php
// Zip 파일 열기
$zip = new ZipArchive;
if ($zip->open('example.zip') === TRUE) {
// 압축 해제
$zip->extractTo('extract_folder/');
// Zip 파일 닫기
$zip->close();
echo 'Zip 파일이 성공적으로 압축 해제되었습니다.';
} else {
echo 'Zip 파일을 열 수 없거나 압축 해제할 수 없습니다.';
}
?>
이제 PHP에서 Zip 파일을 생성하고 관리하는 방법에 대해 알아보았습니다. ZipArchive 클래스를 이용하면 PHP 애플리케이션에서 손쉽게 Zip 파일을 다룰 수 있습니다.
더 자세한 정보는 PHP 공식 문서에서 ZipArchive 클래스에 대해 확인할 수 있습니다.