Phar::decompress

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

Phar::decompress — 전체 Phar 아카이브의 압축을 풉니다.


설명

public Phar::decompress(?string $extension = null): ?Phar

메모: 이 메서드는 Phar 객체에 대해 작동하기 위해 php.ini 설정 phar.readonly0으로 설정해야 합니다. 그렇지 않으면 PharException이 발생합니다.

tar 기반 및 phar 기반 phar 아카이브의 경우 이 메서드는 전체 아카이브의 압축을 풉니다.

Zip 기반 phar 아카이브의 경우 이 메서드는 예외와 함께 실패합니다. gzip 압축으로 압축된 아카이브의 압축을 풀려면 zlib 확장을 활성화해야 하고 bzip2 압축으로 압축된 아카이브의 압축을 풀려면 bzip2 확장을 활성화해야 합니다. phar의 내용을 수정하는 모든 기능과 마찬가지로 성공하려면 phar.readonly INI 변수가 꺼져 있어야 합니다.

또한 이 메서드는 아카이브의 파일 확장자를 자동으로 변경합니다. 기본적으로 phar 아카이브의 경우 .phar, tar 기반 phar 아카이브의 경우 .phar.tar입니다. 또는 두 번째 매개변수로 파일 확장자를 지정할 수 있습니다.


매개변수

extension
압축 해제의 경우 기본 파일 확장자는 .phar.phar.tar입니다. 다른 파일 확장자를 지정하려면 이 매개변수를 사용하십시오. 모든 실행 가능한 phar 아카이브는 파일 이름에 .phar를 포함해야 합니다.

반환 값

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


오류/예외

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


변경 로그

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

Examples

예제 #1 Phar::decompress() 예제

                  
<?php
$p = new Phar('/path/to/my.phar', 0, 'my.phar.gz');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p3 = $p2->decompress(); // creates /path/to/my.phar
?>
                  
                

기타