PharData::compress

(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)

PharData::compress — Gzip 또는 Bzip2 압축을 사용하여 전체 tar/zip 아카이브를 압축합니다.


설명

public PharData::compress(int $compression, ?string $extension = null): ?PharData

tar 아카이브의 경우 이 메서드는 gzip 압축 또는 bzip2 압축을 사용하여 전체 아카이브를 압축합니다. 결과 파일은 gunzip 명령/bunzip 명령으로 처리하거나 Phar 확장자를 사용하여 직접 투명하게 액세스할 수 있습니다.

zip 아카이브의 경우 이 메서드는 예외와 함께 실패합니다. gzip 압축으로 압축하려면 zlib 확장을 활성화해야 하고 bzip2 압축으로 압축하려면 bzip2 확장을 활성화해야 합니다.

또한 이 메서드는 압축을 제거하기 위해 Phar::NONE을 전달한 경우 .gz, .bz2를 추가하거나 확장자를 제거하여 아카이브 이름을 자동으로 바꿉니다. 또는 두 번째 매개변수로 파일 확장자를 지정할 수 있습니다.


매개변수

compression
압축은 Phar::GZ, 압축을 추가하려면 Phar::BZ2, 압축을 제거하려면 Phar::NONE 중 하나여야 합니다.
extension
기본적으로 확장자는 tar 압축의 경우 .tar.gz 또는 .tar.bz2이고 압축 해제의 경우 .tar입니다.

반환 값

PharData 개체는 성공하면 반환되고 실패하면 null이 반환됩니다.


오류/예외

zlib 확장을 사용할 수 없거나 bzip2 확장이 활성화되어 있지 않으면 BadMethodCallException을 던집니다.


변경 로그

버전 설명
8.0.0 extension은 이제 null을 허용합니다.

Examples

예제 #1 PharData::compress() 예제

                  
<?php
$p = new PharData('/path/to/my.tar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copies to /path/to/my.tar.gz
$p2 = $p->compress(Phar::BZ2); // copies to /path/to/my.tar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /path/to/my.tar already exists
?>
                  
                

기타

  • Phar::compress() - Gzip 또는 Bzip2 압축을 사용하여 전체 Phar 아카이브를 압축합니다.