ZipArchive 클래스는 파일 압축 및 압축 해제 작업에 특별히 사용되는 클래스입니다. 파일을 압축하면 디스크 공간을 절약할 수 있고, 압축된 파일 크기가 작아져 네트워크 전송이 용이해집니다.
ZipArchive 클래스에서는 주로 다음 메소드를 사용합니다.
1: open(압축된 패키지 파일 열기)
$zip = new \ZipArchive; $zip->open('test_new.zip', \ZipArchive::CREATE)
매개변수 설명:
첫 번째 매개변수: 열려는 압축된 패키지 파일
아니요. 두 개의 매개변수:
ZIPARCHIVE::OVERWRITE
는 항상 새 파일을 생성합니다. 지정된 zip 파일이 있으면 덮어쓰게 됩니다. ZIPARCHIVE::OVERWRITE
总是创建一个新的文件,如果指定的zip文件存在,则会覆盖掉。
ZIPARCHIVE::CREATE
如果指定的zip文件不存在,则新建一个。
ZIPARCHIVE::EXCL
如果指定的zip文件存在,则会报错。
ZIPARCHIVE::CHECKCONS
ZIPARCHIVE::CREATE
지정된 zip 파일이 존재하지 않으면 새 파일을 생성하세요. ZIPARCHIVE::EXCL
지정된 zip 파일이 존재하는 경우 오류가 보고됩니다.
ZIPARCHIVE::CHECKCONS
지정된 zip에 대해 추가 일관성 테스트를 수행합니다. (무료 학습 영상 튜토리얼 공유: php 영상 튜토리얼
)2: addFile(지정된 파일을 압축 패키지에 추가)
//将test.txt文件添加到压缩包中 $zip->addFile('test.txt'); //第二个参数可对文件进行重命名3: addEmptyDir(지정된 빈 디렉터리를 압축 패키지에 추가)
//将一个空的目录添加到zip中 $zip->addEmptyDir ('newdir');4: addFromString(지정된 내용이 포함된 파일을 압축 패키지에 추가)
// 将有指定内容的new.txt文件添加到zip文件中 $zip->addFromString('new.txt', '要添加到new.txt文件中的文本');5: extractTO(압축 패키지를 지정된 디렉터리에 추출)
$zip->extractTo('test');6: getNameIndex(파일 이름 반환) 인덱스 기준)
$zip->getNameIndex(0);//返回压缩包中索引为0的文件名称7: getStream(압축된 파일 이름에 따라 파일의 텍스트 스트림 가져오기)
$zip->getStream('hello.txt');8: renameIndex(압축된 파일 이름을 기준으로 압축 파일의 파일 수정) 압축 파일 내 인덱스(0부터 시작) name)
/把压缩文件内第一个文件修改成newname.txt $zip->renameIndex(0,'newname.txt');9: renameName(압축 파일의 파일 이름을 기준으로 압축 파일의 파일 이름 수정)
//把压缩文件内的word.txt修改成newword.txt $zip->renameName('word.txt','newword.txt');10: deleteIndex(압축 파일 삭제 파일을 압축 파일의 인덱스를 기준으로 압축)
//把压缩文件内第一个文件删除 $zip->deleteIndex (0);
11: deleteName(압축 파일의 파일 이름을 기준으로 파일 삭제)
//把压缩文件内的word.txt删除 $zip->deleteName('word.txt');위는 ZipArchive 클래스의 몇 가지 일반적인 방법입니다. . 다음은 몇 가지 간단한 예입니다.
1: 압축 패키지 만들기
$zip = new \ZipArchive; if ($zip->open('test_new.zip', \ZipArchive::CREATE) === true) { // 将指定文件添加到zip中 $zip->addFile('test.txt'); // test.txt文件添加到zip并将其重命名为newfile.txt $zip->addFile('test.txt', 'newfile.txt'); // 将test.txt文件添加到zip文件中的test文件夹内 $zip->addFile('test.txt', 'test/newfile.txt'); //将一个空的目录添加到zip中 $zip->addEmptyDir ('test'); // 将有指定内容的new.txt文件添加到zip文件中 $zip->addFromString('new.txt', '要添加到new.txt文件中的文本'); // 将有指定内容的new.txt添加到zip文件中的test文件夹 $zip->addFromString('test/new.txt', '要添加到new.txt文件中的文本'); //将images目录下所有文件添加到zip中 if ($handle = opendir('images')){ // 添加目录中的所有文件 while (false !== ($entry = readdir($handle))){ if ($entry != "." && $entry != ".." && !is_dir('images/' . $entry)){ $zip->addFile('images/' . $entry); } } closedir($handle); } // 关闭zip文件 $zip->close(); }2
위 내용은 PHP는 ZipArchive 클래스를 사용하여 파일 압축 및 압축 해제를 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!