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 아카이브를 압축합니다.