PHP执行zip与rar解压缩方法实现代码_PHP
Zip:PclZip http://www.phpconcept.net/pclzip/index.en.php
Rar:PECL rar http://pecl.php.net/package/rar
以往过去要在php下执行解压缩程序,无非最常见的方法是写command 然后用exec()等执行函式去跑
这在Windows下或许可以,但换成Unix话会碍于帐号权限问题而无法顺利执行
那有没有那种本身就有提供函式可以直接使用而不需要去下command去跑的方法呢
答桉有(话说找了好几天才找到可以用的方法......XD)
先讲Zip,由于php内建本身就有提供zip相关函式(但须先要有ziplib函式)但不是很好用
就光extract来讲,内建函式只负责单纯解压缩档桉出来,而不是会按照资料夹依序解压缩出来
这样就失去extract的作用
而要讲的 PclZip 这支,本身就有提供 extension 了,故有没有Ziplib就没差
且免安装,只需要再用他时 include 进来就可以了
例如: 这样
此外在extract部分,则是会按照资料夹顺序依序解压缩出来,而并非单纯解压缩档桉出来
相关用法像这样
复制代码 代码如下:
require_once('pclzip.lib.php');
$archive = new PclZip('archive.zip');
if ($archive->extract() == 0) { /*解压缩路径跟原始档相同路径*/
die("Error : ".$archive->errorInfo(true));
}
?>
当然也可以指定解压缩路径,像这样
复制代码 代码如下:
include('pclzip.lib.php');
$archive = new PclZip('archive.zip');
if ($archive->extract(PCLZIP_OPT_PATH, 'data') { /*data换成其他路径即可*/
die("Error : ".$archive->errorInfo(true));
}
?>
如果再写一支自动建立目录的script会更好,因为函式本身不会判断压缩档裡第一层是档桉还是资料夹(这我想其他相关函式也做不到吧!!!)
再来是Rar,这问题比较大,由于php本身没提供rar相关函式,所以需要求助第三方函式来用
所幸有这个 PECL(The PHP Extension Community Library)
裡面有个 rar 的 package 可以使用
不过须得手动安装才行
若是 Unix 话,可以参考下列安装法
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-rar
make
make install
记得安装完后须 restart apache
安装完后可以做测试
复制代码 代码如下:
$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用法上并无差异
相关用法像这样
复制代码 代码如下:
$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 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











압축 해제 단계: 1. RAR 도구가 시스템에 설치되어 있는지 확인하십시오. 2. "unrar x file.rar" 명령을 사용하여 RAR 파일의 압축을 해제합니다. 3. "unrar x *.rar" 명령을 사용하여 여러 RAR의 압축을 해제합니다. 4. 압축 해제 경로를 지정합니다. 5. RAR 파일의 내용을 나열합니다. 6. 암호화된 RAR 파일을 압축 해제합니다. 8. 지정된 디렉터리에 압축을 해제하고 디렉터리 구조를 유지합니다. RAR 파일을 일괄 처리합니다.

HTML 파일을 ZIP으로 압축하면 페이지 로딩 속도가 향상될 수 있습니다. 방법은 다음과 같습니다. 온라인 도구(예: FileOptimizer, TinyPNG) 사용 명령줄 도구(예: gzip, 7-zip) 사용 Node.js 스크립트 사용(zlib 모듈 사용)

zip 명령은 Linux 시스템에서 매우 유용한 압축 도구입니다. zip 명령을 사용하면 파일과 디렉터리를 zip 파일로 쉽게 압축하여 저장 공간을 절약하고 전송을 용이하게 할 수 있습니다. zip 명령의 기본 구문은 "zip [옵션] [압축 파일 이름] [압축할 파일 또는 디렉터리]"입니다.

Windows 11에서 파일의 압축을 푸는 방법을 모르면 특정 소프트웨어를 설치하지 못하거나 다른 사람이 보낸 파일을 아카이브 형식으로 보지 못할 수도 있습니다. 이 프로세스는 수행하기가 매우 간단하며 오늘 가이드에서는 Windows 11에서 수행하는 가장 좋은 방법을 보여 드리겠습니다. Windows 11에서 파일의 압축을 푸는 방법은 무엇입니까? 1. 상황에 맞는 메뉴를 사용하여 PC에서 zip 파일을 찾아 마우스 오른쪽 버튼을 클릭합니다. 다음으로 "모두 추출"을 선택하십시오. 추출 위치를 선택하고 "추출" 버튼을 클릭하세요. Windows가 파일을 추출할 때까지 기다립니다. 2. 타사 도구를 사용하여 WinZip을 다운로드하고 설치합니다. 추출하려는 zip 파일을 두 번 클릭합니다. 이제 추출 대상을 클릭하고 대상 폴더를 선택하십시오. 삼.

이 플랫폼을 사용하면 파일의 무료 압축 해제 방법을 사용할 수 있으므로 다운로드한 일부 압축 패키지를 열 수 있으며 물론 위에서 직접 이해할 수 있는 파일 등이 많이 있습니다. 많은 사용자가 이에 대해 잘 알지 못하기 때문에 일부 기능을 더 잘 사용할 수도 있습니다. 나중에 다른 파일을 다운로드할 때 더 편리하게 사용할 수 있고 효과도 여전히 좋습니다. 전혀 다른 다양한 활용효과를 알려드릴께요. 왜 이런 유용한 기능을 아직 모르셨나요? 친구들, 서둘러서 살펴보세요. 아래의 전략 설명에서 이 짜릿함을 놓칠 수 없습니다.

1. 압축 폴더는 zip 파일 [root@cgls]#zip-rmydata.zipmydata2입니다. mydatabak 디렉터리 [root@cgls]#unzipmydata.zip-dmydatabak3.mydata01 폴더에 mydata.zip의 압축을 풀면 mydata02.txt가 압축됩니다. mydata.zip[root@cgls]#zipmydata.zipmydata01mydata02.txt4. mydata.zip 파일을 직접 압축 해제합니다. [root@cgls]#unzipmydata.zip5.

Mac에서 rar 압축을 풀기 위한 소프트웨어: 1. 완전 무료이고 컴팩트하며 사용하기 매우 쉬운 압축 및 압축 풀기 도구인 Unarchiver 2. RAR 형식 압축 패키지 압축 풀기를 지원하는 실용적인 무료 압축 및 압축 풀기 도구인 Keka 3. 360 Compression Master는 RAR 파일 압축 해제를 완벽하게 지원하는 무료 압축 및 압축 해제 소프트웨어입니다. 4. MacZip은 RAR을 포함한 20개 이상의 압축 형식 압축 해제를 지원합니다. 5. BetterZip ;

7-Zip은 완전 무료 오픈 소스 압축 해제 소프트웨어일 뿐만 아니라 압축 해제 기능도 매우 강력하여 비디오, 문서, 폴더, 사진 및 기타 파일에 대한 압축 작업을 지원할 수 있습니다. 그렇다면 7-Zip 소프트웨어는 어떻게 파일의 압축을 해제합니까? 7-Zip 소프트웨어에서 압축 패키지의 비밀번호를 설정하고 취소하는 방법은 무엇입니까? 7-Zip으로 파일을 압축하는 방법: 1. 7-Zip 소프트웨어를 열고 압축해야 하는 파일이나 폴더를 선택한 다음 메뉴에서 [추가] 옵션을 클릭합니다. 2. 창이 나타나면 압축파일 형식을 선택한 후, 아래 [확인]을 눌러 압축하세요. 7-Zip으로 압축 파일의 압축을 푸는 방법: 1. 7-Zip 소프트웨어를 열고 압축을 풀 압축 패키지를 선택한 후 메뉴에서 [압축 풀기]를 클릭합니다.
