pclzip 라이브러리는 http://www.phpconcept.net 에서 제공하는 무료 소프트웨어로 GNU/LGP를 따릅니다. 먼저, pclzip.lib.php 파일을 다운받아 예제에 작성된 위치에 include 하여 클레스를 호출하면 원하는 작업을 할 수 있습니다.
압축파일 생성, 수정, 삭제시 반환되는 배열은 다음 표와 같습니다.
배 열 | 값 |
---|
filename | 원본 파일(또는 폴더) |
---|
stored_filename | 변경된 파일(또는 폴더) |
---|
size | 원본 크기 |
---|
compressed_size | 압축된 크기 |
---|
mtime | 수정시간 |
---|
comment | |
---|
folder | 폴더이면 "1" 반환 |
---|
index | |
---|
status | 성공하면 "ok"반환 |
---|
crc | |
---|
Zip 압축 파일 만들기
파일(또는 폴더)를 압축해 보겠습니다.
<?php
include('pclzip.lib.php');
$zipfile = new PclZip('test.zip');
$data = array();
$data = array("test.php", "www");
$create = $zipfile->create($data);
echo "<pre>\n";
print_r($create);
?>
www 폴더를 압축하되 test폴더를 만들어 압축해 보겠습니다.
<?php
include('pclzip.lib.php');
$zipfile = new PclZip('test.zip');
$data = "www";
$create = $zipfile->create($data, "test");
echo "<pre>\n";
print_r($create);
?>
Zip 압축 파일 추가
압축 파일에 새로운 파일을 추가하거나 해당 압축 파일이 없으면 새로 압축 파일을 만듭니다.
<?php
include('pclzip.lib.php');
$zipfile = new PclZip('test.zip');
$data = array("index.gif","test.gif");
$add = $zipfile->add($data);
echo "<pre>";
print_r($add);
?>
Zip 압축 파일내 Entry 얻기
다음은 압축 파일내 Entry, 즉 파일 목록을 가져 오도록 하겠니다. 반환 값은 파일에 대한 정보를 배열로 반환하기 때문에 적절히 수정해서 사용합니다.
<?php
include('pclzip.lib.php');
$zipfile = new PclZip('test.zip');
$list = $zipfile->listContent();
echo "<pre>";
print_r($list);
?>
Zip 압축 파일 해제
압축 파일을 현재 디렉토리에 압축 해제 해보겠습니다.
<?php
include('pclzip.lib.php');
$zipfile = new PclZip('test.zip');
$extract = $zipfile->extract();
echo "<pre>";
print_r($extract);
?>
다음은 다른 디렉토리에 압축 파일을 해제하도록 하겠습니다.
<?php
include('pclzip.lib.php');
$zipfile = new PclZip('test.zip');
$extract = $zipfile->extract(PCLZIP_OPT_PATH, './habony/');
echo "<pre>";
print_r($extract);
?>
Zip 압축 파일내 파일 삭제
이제 부분적으로 압축 파일내 파일을 삭제해 보겠습니다.
<?php
include('pclzip.lib.php');
$zipfile = new PclZip('test.zip');
$delete = $zipfile->delete(PCLZIP_OPT_BY_NAME,"test.gif");
echo "<pre>";
print_r($delete);
?>