pcltar 라이브러리는 http://www.phpconcept.net 에서 제공하는 무료 소프트웨어로 GNU/LGP를 따릅니다. 먼저,

파일을 다운받아 원하는 위치에 압축을 풀어줍니다.

Tar 압축파일 만들기

다운 받은 파일을 정상적으로 설치하였다면, tar.gzip 으로 파일(또는 폴더)를 압축해 보겠습니다.

예제 (ex #1

 <?php
 
// library 가 위치하는 경로를 작성합니다.
 // 기본 지정 폴더는 lib 입니다
 
if(!defined("PCLTAR_LIB_DIR"
)){
      
define("PCLTAR_LIB_DIR""lib"
);
 }
 
$g_pcltar_lib_dir PCLTAR_LIB_DIR
;
 include (
PCLTAR_LIB_DIR "/pclerror.lib.php3"
);
 include (
PCLTAR_LIB_DIR "/pcltrace.lib.php3"
);
 include (
PCLTAR_LIB_DIR "/pcltar.lib.php3"
);


 
// PclTarCreate($tarname, $list);
 // $list 에 하나의 파일(또는 폴더)이거나
 // 배열형인 파일(또는 폴더)가 올 수 있습니다.
 // $tarname 에 압축할 파일명을 지정합니다.
 // habony폴더를 test.tgz로 압축해 보겠습니다.
 
if(($err PclTarCreate("test.tgz","habony")) === 1
){
      echo 
"압축 파일 작성 성공!"
;
 } else {
      echo 
"압축파일 실패! 오류 코드:" $err
;
 }
 
?>


Tar 압축파일 추가


압축파일에 새로운 파일을 추가하거나 해당 압축파일이 없으면 새로 압축파일을 만듭니다.

예제 (ex #2

 <?php
 // library 가 위치하는 경로를 작성합니다.
 // 기본 폴더는 lib 입니다
 if(!defined("PCLTAR_LIB_DIR"
)){
      
define("PCLTAR_LIB_DIR""lib"
);
 }
 $g_pcltar_lib_dir PCLTAR_LIB_DIR
;
 include (
PCLTAR_LIB_DIR "/pclerror.lib.php3"
);
 include (
PCLTAR_LIB_DIR "/pcltrace.lib.php3"
);
 include (
PCLTAR_LIB_DIR "/pcltar.lib.php3"
);


 // PclTarAdd($tarname, $list);
 // $tarname 에 압축파일를 선택하여
 // 추가할 파일(또는 폴더)를 지정합니다.
 // $list 에 하나의 파일(또는 폴더)이거나
 // 배열형인 파일(또는 폴더)가 올 수 있습니다.
 $list = array("index.gif""chmod.php"
);
 if((
$err PclTarAdd("test.tgz"$list)) === 1
){
      echo 
"압축 파일 추가 성공!"
;
 } else {
      echo 
"압축파일 추가 실패! 오류 코드:" $err
;
 }
 ?>

Tar 압축파일 해제


예제 (ex #3

  <?php
 // library 가 위치하는 경로를 작성합니다.
 // 기본 폴더는 lib 입니다
 if(!defined("PCLTAR_LIB_DIR"
)){ 
     
define("PCLTAR_LIB_DIR""lib"
);
 }
 $g_pcltar_lib_dir PCLTAR_LIB_DIR
;
 include (
PCLTAR_LIB_DIR "/pclerror.lib.php3"
);
 include (
PCLTAR_LIB_DIR "/pcltrace.lib.php3"
);
 include (
PCLTAR_LIB_DIR "/pcltar.lib.php3"
);

 // PclTarExtract($tarname, $dir);
 // $tarname 에 해제할 압축파일를 선택합니다.
 // $dir 은 해제할 경로를 지정합니다.
 // 다음은 test.tgz 를 test폴더에 해제합니다.
 $list PclTarExtract("test.tgz""test");


 echo "<pre>";
 print_r($list
);
 /*
 결과:
 Array
 (
      [0] => Array
      ( 
           [checksum] => 2843
           [filename] => ./test/tar/retto
           [mode] => 16895
           [uid] => 0
           [gid] => 0
           [size] => 0
           [mtime] => 1310291714
           [typeflag] => 5
           [status] => already_a_directory
      )
      [1] => Array
      (
           [checksum] => 3411
           [filename] => ./test/tar/retto/admin
           [mode] => 16895
           [uid] => 0
           [gid] => 0
           [size] => 0
           [mtime] => 1310291392
           [typeflag] => 5
           [status] => already_a_directory
      )
      ...
 }
 */
 ?>


Tar
압축파일내 파일삭제


이제 부분적으로 압축파일내 파일을 삭제해 보겠습니다.

예제 (ex #4

 <?php
 // library 가 위치하는 경로를 작성합니다.
 // 기본 폴더는 lib 입니다
 if(!defined("PCLTAR_LIB_DIR"
)){ 
     
define("PCLTAR_LIB_DIR""lib"
);
 }
 $g_pcltar_lib_dir PCLTAR_LIB_DIR
;
 include (
PCLTAR_LIB_DIR "/pclerror.lib.php3"
);
 include (
PCLTAR_LIB_DIR "/pcltrace.lib.php3"
);
 include (
PCLTAR_LIB_DIR "/pcltar.lib.php3"
);

 // PclTarDelete($tarname, $list);
 // $tarname 에 부분 삭제할 압축파일를 선택합니다.
 // $list 에 하나의 파일(또는 폴더)이거나
 // 배열형인 파일(또는 폴더)가 올 수 있습니다.
 $list = array("index.gif","chmod.php"
);
 $delete PclTarDelete("test.tgz"$list
);


 echo 
"<pre>"
;
 print_r($delete
);
 /*
 결과:
 Array
 (
      [0] => Array
      ( 
           [checksum] => 2843
           [filename] => ./test/tar/retto
           [mode] => 16895
           [uid] => 0
           [gid] => 0
           [size] => 0
           [mtime] => 1310291714
           [typeflag] => 5
           [status] => already_a_directory
      )
      [1] => Array
      (
           [checksum] => 3411
           [filename] => ./test/tar/retto/admin
           [mode] => 16895
           [uid] => 0
           [gid] => 0
           [size] => 0
           [mtime] => 1310291392
           [typeflag] => 5
           [status] => already_a_directory
      )
      ...
 }
 */
 ?>

블로그 이미지

하보니

하보니와 함께하는 phP 초보

Tag

댓글을 달아 주세요