Phar::compress
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::compress — Gzip 또는 Bzip2 압축을 사용하여 전체 Phar 아카이브를 압축합니다.
설명
public Phar::compress(int $compression
, ?string $extension
= null
): ?Phar
메모: 이 메서드는 Phar 객체에 대해 작동하기 위해 php.ini 설정 phar.readonly
를 0
으로 설정해야 합니다. 그렇지 않으면 PharException이 발생합니다.
tar 기반 및 phar 기반 phar 아카이브의 경우 이 메서드는 gzip 압축 또는 bzip2 압축을 사용하여 전체 아카이브를 압축합니다. 결과 파일은 gunzip command/bunzip 명령으로 처리하거나 Phar 확장자를 사용하여 직접 투명하게 액세스할 수 있습니다.
Zip 기반 phar 아카이브의 경우 이 메서드는 예외와 함께 실패합니다. gzip 압축으로 압축하려면 zlib 확장을 활성화해야 하고 bzip2 압축으로 압축하려면 bzip2 확장을 활성화해야 합니다. phar의 내용을 수정하는 모든 기능과 마찬가지로 성공하려면 phar.readonly INI 변수가 꺼져 있어야 합니다.
또한 이 메서드는 압축을 제거하기 위해 Phar::NONE
을 전달한 경우 .gz
, .bz2
를 추가하거나 확장자를 제거하여 아카이브 이름을 자동으로 바꿉니다. 또는 두 번째 매개변수로 파일 확장자를 지정할 수 있습니다.
매개변수
compression
- 압축은
Phar::GZ
, 압축을 추가하려면Phar::BZ2
, 압축을 제거하려면Phar::NONE
중 하나여야 합니다. extension
- 기본적으로 확장자는 tar 아카이브 압축의 경우
.phar.gz
또는.phar.bz2
이고 tar 아카이브 압축의 경우.phar.tar.gz
또는.phar.tar.bz2
입니다. 압축 해제의 경우 기본 파일 확장자는.phar
및.phar.tar
입니다.
반환 값
Phar 개체를 반환하거나 실패 시 null
을 반환합니다.
오류/예외
phar.readonly INI 변수가 켜져 있거나 zlib 확장을 사용할 수 없거나 bzip2 확장이 활성화되어 있지 않으면 BadMethodCallException을 던집니다.
변경 로그
버전 | 설명 |
---|---|
8.0.0 | extension 는 이제 null을 허용합니다. |
Examples
예제 #1 Phar::compress() 예제
<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p1 = $p->compress(Phar::GZ); // copies to /path/to/my.phar.gz
$p2 = $p->compress(Phar::BZ2); // copies to /path/to/my.phar.bz2
$p3 = $p2->compress(Phar::NONE); // exception: /path/to/my.phar already exists
?>
기타
- PharFileInfo::getCompressedSize() - Phar 아카이브 내 파일(압축 포함)의 실제 크기를 반환합니다.
- PharFileInfo::isCompressed() - 항목이 압축되었는지 여부를 반환합니다.
- PharFileInfo::compress() - zlib 또는 bzip2 압축으로 현재 Phar 항목을 압축합니다.
- PharFileInfo::decompress() - Phar 내에서 현재 Phar 항목의 압축을 풉니다.
- PharData::compress() - Gzip 또는 Bzip2 압축을 사용하여 전체 tar/zip 아카이브를 압축합니다.
- Phar::canCompress() - phar 확장이 zlib 또는 bzip2를 사용하여 압축을 지원하는지 여부를 반환합니다.
- Phar::isCompressed() - 전체 phar 아카이브가 압축된 경우(.tar.gz/tar.bz 등) Phar::GZ 또는 PHAR::BZ2를 반환합니다.
- Phar::decompress() - 지원되는 압축 알고리즘의 배열 반환
- Phar::getSupportedCompression() - 지원되는 압축 알고리즘의 배열 반환
- Phar::compressFiles() - 현재 Phar 아카이브의 모든 파일을 압축합니다.
- Phar::decompressFiles() - 현재 Phar 아카이브의 모든 파일 압축 해제