PHP 는 zip 와 rar 압축 풀기 방법 을 실행 합 니 다.

5437 단어 PHP
먼저 두 고 나중에 연구 할 데 가 있어 요.
 
Zip:PclZiphttp://www.phpconcept.net/pclzip/index.en.phpRar:PECL rarhttp://pecl.php.net/package/rar과거 에는 phop 에서 압축 해제 프로그램 을 실 행 했 습 니 다.가장 흔 한 방법 은 command 를 쓰 고 exec()등 으로 편지 식 으로 달 리 는 것 이 었 습 니 다.하지만 유 닉 스 로 바 뀌 면 계 정 권한 문제 로 제대로 실행 되 지 않 을 수 있 습 니 다.php 내 건설 자체 에 zip 관련 편지 식(단,먼저 ziplib 편지 식 이 있어 야 함)이 있 기 때문에 잘 사용 되 지 않 습 니 다.그러므로 Ziplib 가 있 으 면 차이 가 없고 설치 가 면제 되 며 그 를 다시 사용 할 때 include 를 들 어 오 면 됩 니 다.예 를 들 어 이 밖 에 extract 부분 에 서 는 단순히 압축 파일 을 푸 는 것 이 아니 라 서류철 순서에 따라 압축 을 푸 는 것 입 니 다.
<?php

require_once('pclzip.lib.php');

$archive = new PclZip('archive.zip');

if ($archive->extract() == 0) { /*             */

die("Error : ".$archive->errorInfo(true));

}

?>

물론 압축 해제 경 로 를 지정 할 수도 있 습 니 다.이렇게.
<?php

include('pclzip.lib.php');

$archive = new PclZip('archive.zip');

if ($archive->extract(PCLZIP_OPT_PATH, 'data') { /*data        */

die("Error : ".$archive->errorInfo(true));

}

?>

 
자동 으로 디 렉 터 리 를 만 드 는 script 을 다시 쓰 는 것 이 좋 습 니 다.왜냐하면 편지 식 자체 가 압축 파일 의 첫 번 째 층 이 파일 인지 서류철 인지 판단 하지 못 하기 때 문 입 니 다.(이것 은 다른 관련 편지 식 도 할 수 없 을 것 이 라 고 생각 합 니 다!!)그리고 Rar 입 니 다.이 문 제 는 비교적 큽 니 다.phop 자체 가 rar 관련 편지 식 을 제공 하지 않 았 기 때문에 제3자 편지 식 으로 도움 을 청해 야 합 니 다.다행히 이 PECL(The PHP Extension Community Library)안에 rar 의 package 를 사용 할 수 있 지만 수 동 으로 설치 해 야 합 니 다.유 닉 스 라면 다음 설치 법 을 참고 하 십시오.
fetch http://pecl.php.net/get/rar-x.x.x.tgz

gunzip rar-xxx.tgz

tar -xvf rar-xxx.tar

cd rar-xxx

phpize

./configure && make && make install

물론 freebsd 라면 port 로 설치 하 는 것 이 더 빠 를 것 입 니 다.
cd /usr/ports/archivers/pecl-rarmakemake install
설치 후 restart apache 설치 후 테스트 할 수 있 는 것 을 기억 하 세 요.
<?php

$rar_file = rar_open('example.rar') or die("Failed to open Rar archive"); 

/*example.rar        */

$entries_list = rar_list($rar_file);

print_r($entries_list);

?>
, port , ( 0.3.1,port 0.3.4),
extract
<?php

$rar_file = rar_open('example.rar') or die("Can't open Rar archive");

/*example.rar        */

$entries = rar_list($rar_file);

foreach ($entries as $entry) {

$entry->extract('/dir/extract/to/'); /*/dir/extract/to/        */

}

rar_close($rar_file);

?>

Zip ,

좋은 웹페이지 즐겨찾기