PharData::decompressFiles
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
PharData::decompressFiles — 현재 zip 아카이브의 모든 파일을 압축 해제합니다.
설명
public PharData::decompressFiles(): bool
메모: 이 메서드는 Phar 객체에 대해 작동하기 위해 php.ini 설정 phar.readonly
를 0
으로 설정해야 합니다. 그렇지 않으면 PharException이 발생합니다.
tar 기반 아카이브의 경우 이 메서드는 BadMethodCallException을 발생시킵니다. tar 아카이브 내의 개별 파일 압축은 파일 형식에서 지원되지 않기 때문입니다. PharData::compress()를 사용하여 전체 tar 기반 아카이브를 압축합니다.
Zip 기반 아카이브의 경우 이 메서드는 아카이브에 있는 모든 파일의 압축을 풉니다. bzip2/zlib 압축을 사용하여 압축된 파일이 있는 경우 이 기능을 활용하려면 zlib 또는 bzip2 확장을 활성화해야 합니다.
매개변수
이 함수에는 매개변수가 없습니다.
반환 값
성공하면 true
를, 실패하면 false
를 반환합니다.
오류/예외
zlib 확장을 사용할 수 없거나 bzip2 압축을 사용하여 파일이 압축되고 bzip2 확장이 활성화되지 않은 경우 BadMethodCallException이 발생합니다.
Examples
예제 #1 PharData::decompressFiles() 예제
<?php
$p = new PharData('/path/to/my.zip');
$p['myfile.txt'] = 'hi';
$p['myfile2.txt'] = 'hi';
$p->compressFiles(Phar::GZ);
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
$p->decompressFiles();
foreach ($p as $file) {
var_dump($file->getFileName());
var_dump($file->isCompressed());
var_dump($file->isCompressed(Phar::BZ2));
var_dump($file->isCompressed(Phar::GZ));
}
?>
위의 예는 다음을 출력합니다.
string(10) "myfile.txt" int(4096) bool(false) bool(true) string(11) "myfile2.txt" int(4096) bool(false) bool(true) string(10) "myfile.txt" bool(false) bool(false) bool(false) string(11) "myfile2.txt" bool(false) bool(false) bool(false)
기타
- PharFileInfo::getCompressedSize() - Phar 아카이브 내 파일(압축 포함)의 실제 크기를 반환합니다.
- PharFileInfo::isCompressed() - 항목이 압축되었는지 여부를 반환합니다.
- PharFileInfo::compress() - zlib 또는 bzip2 압축으로 현재 Phar 항목을 압축합니다.
- PharFileInfo::decompress() - Phar 내에서 현재 Phar 항목의 압축을 풉니다.
- Phar::canCompress() - phar 확장이 zlib 또는 bzip2를 사용하여 압축을 지원하는지 여부를 반환합니다.
- Phar::isCompressed() - 전체 phar 아카이브가 압축된 경우(.tar.gz/tar.bz 등) Phar::GZ 또는 PHAR::BZ2를 반환합니다.
- PharData::compressFiles() - 현재 tar/zip 아카이브의 모든 파일을 압축합니다.
- Phar::getSupportedCompression() - 지원되는 압축 알고리즘의 배열 반환
- PharData::compress() - Gzip 또는 Bzip2 압축을 사용하여 전체 tar/zip 아카이브를 압축합니다.
- PharData::decompress() - 전체 Phar 아카이브 압축 해제