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 ,
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
laravel에 yo에서 angularJs&coffeescript를 사용할 수 있도록 한다.먼저 yo 명령을 사용할 수 있어야하므로 아래에서 설치 global에 설치한 곳에서 laravel의 프로젝트 루트로 이동. 클라이언트 코드를 관리하는 디렉토리를 만들고 이동합니다. 클라이언트 환경 만들기 이것으로 히...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.