> 백엔드 개발 > PHP 튜토리얼 > PHP는 ZipArchive 클래스를 사용하여 파일 압축 및 압축 해제를 구현합니다.

PHP는 ZipArchive 클래스를 사용하여 파일 압축 및 압축 해제를 구현합니다.

王林
풀어 주다: 2023-04-08 09:04:02
앞으로
3424명이 탐색했습니다.

PHP는 ZipArchive 클래스를 사용하여 파일 압축 및 압축 해제를 구현합니다.

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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:jb51.net
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿