pclzip 라이브러리는 http://www.phpconcept.net 에서 제공하는 무료 소프트웨어로 GNU/LGP를 따릅니다. 먼저,
파일을 다운받아 예제에 작성된 위치에 include 하여 클레스를 호출하면 원하는 작업을 할 수 있습니다.압축파일 생성, 수정, 삭제시 반환되는 배열은 다음 표와 같습니다.
배열 | 값 |
filename | 원본 파일(또는 폴더) |
stored_filename | 변경된 파일(또는 폴더) |
size | 원본 크기 |
compressed_size | 압축된 크기 |
mtime | 수정시간 |
comment | |
folder | 폴더이면 "1" 반환 |
index | |
status | 성공하면 "ok"반환 |
crc |
Zip 압축파일 만들기
파일(또는 폴더)를 압축해 보겠습니다.
예제 (ex #1
<?php // pcl lib 경로 설정 include('pclzip.lib.php'); // $create = new PclZip("생성할 압축파일 이름"); // PclZip 객체에 test.zip 압축파일로 만듭니다. $zipfile = new PclZip('test.zip'); // $create->create("파일 or 디렉토리"); // $data에 하나의 파일(또는 폴더)이거나 배열형 파일(또는 폴더)가 올 수 있습니다. // test.php 파일과 www 폴더를 현제 경로에 test.zip 파일로 압축하겠습니다. $data = array(); $data = array("test.php", "www"); $create = $zipfile->create($data); echo "<pre>\n"; print_r($create); ?> |
다음은 www 폴더를 압축하되 test폴더를 만들어 압축해 보겠습니다.
예제 (ex #2
<?php // pcl lib 경로 설정 include('pclzip.lib.php'); // $create = new PclZip("생성할 압축파일 이름"); // PclZip 객체에 test.zip 압축파일로 만듭니다. $zipfile = new PclZip('test.zip'); // $create->create("파일 or 디렉토리", ); // $data에 하나의 파일(또는 폴더)이거나 배열형 파일(또는 폴더)가 올 수 있습니다. // www 폴더를 현제 경로에 test.zip 파일로 압축하겠습니다. // 그리고 $data 뒤에 test 입력하고, 압축하면 stored_filename 변수에 // 이동경로를 확인할 수 있습니다, $data = "www"; $create = $zipfile->create($data, "test"); echo "<pre>\n"; print_r($create); ?> |
Zip 압축파일 추가
압축파일에 새로운 파일을 추가하거나 해당 압축파일이 없으면 새로 압축파일을 만듭니다.
예제 (ex #3
<?php // pcl lib 경로 설정 include('pclzip.lib.php'); // PclZip 객체를 생성합니다. // 추가할 압축파일를 선택합니다. // test.zip 에 파일을 추가하겠습니다. $zipfile = new PclZip('test.zip'); // $data에 추가할 파일을 배열로 지정합니다. // $data에 하나의 파일(또는 폴더)이거나 배열형 파일(또는 폴더)가 올 수 있습니다. $data = array("index.gif","test.gif"); $add = $zipfile->add($data); echo "<pre>"; print_r($add); ?> |
Zip 압축파일내 엔트리 얻기
다음은 압축파일내 엔트리, 즉 파일 목록을 가져 오겠습니다. 반환값은 파일에 대한 정보를 배열로 반환하기 때문에 적절히 수정해서 사용하면 됩니다.
예제 (ex #4
<?php |
Zip 압축파일 해제
압축파일을 현재 디렉토리에 압축해제 해보겠습니다.
예제 (ex #5
<?php // pcl lib 경로 설정 include('pclzip.lib.php'); // PclZip 객체를 생성합니다. //$객체 = new PclZip("해제할 압축파일 이름"); $zipfile = new PclZip('test.zip'); // 참고로 $extract 변수를 정의하지 않아도 압축해제는 가능합니다. $extract = $zipfile->extract(); echo "<pre>"; print_r($extract); ?> |
다음은 다른 디렉토리에 압축파일을 해제하도록 하겠습니다.
예제 (ex #6
<?php // pcl lib 경로 설정 include('pclzip.lib.php'); // PclZip 객체를 생성합니다. //$객체 = new PclZip("해제할 압축파일 이름"); $zipfile = new PclZip('test.zip'); // 압축파일을 habony 폴더에 압축해제합니다. $extract = $zipfile->extract(PCLZIP_OPT_PATH, './habony/'); echo "<pre>"; print_r($extract); ?> |
Zip 압축파일내 파일삭제
이제 부분적으로 압축파일내 파일을 삭제해 보겠습니다.
예제 (ex #7
<?php // pcl lib 경로 설정 include('pclzip.lib.php'); // PclZip 객체를 생성합니다. // 압축파일을 선택합니다. $zipfile = new PclZip('test.zip'); // test.gif 를 삭제하겠습니다. // 하나의 파일(또는 폴더)이거나 배열형 파일(또는 폴더)가 올 수 있습니다. $delete = $zipfile->delete(PCLZIP_OPT_BY_NAME,"test.gif"); echo "<pre>"; print_r($delete); ?> |
'Dev Language > PHP' 카테고리의 다른 글
PHP 만나이 계산하기 (0) | 2016.03.16 |
---|---|
PHP (및 기타 언어)로 일정주기로 실행(스케줄링) (0) | 2015.09.04 |
PHP에서 암호화 encrypt 복호화 decrypt 해서 값을 넘기기 (0) | 2015.06.18 |
PHP ZIP 압축 라이브러리 (0) | 2015.06.03 |
PHP 실시간 접속 세션 저장 (0) | 2015.06.02 |