Phar::convertToData
(PHP 5 >= 5.3.0, PHP 7, PHP 8, PECL phar >= 2.0.0)
Phar::convertToData — phar 아카이브를 실행 불가능한 tar 또는 zip 파일로 변환
설명
public Phar::convertToData(?int $format
= null
, ?int $compression
= null
, ?string $extension
= null): ?PharData
이 메서드는 실행 가능한 phar 아카이브를 tar 또는 zip 파일로 변환하는 데 사용됩니다. tar 또는 zip을 실행할 수 없도록 만들기 위해 phar 스텁 및 phar 별칭 파일이 새로 생성된 아카이브에서 제거됩니다.
변경 사항이 지정되지 않은 경우 아카이브가 phar 파일 형식인 경우 이 메서드는 BadMethodCallException을 발생시킵니다. tar 또는 zip 파일 형식의 아카이브의 경우 이 메서드는 아카이브를 실행할 수 없는 아카이브로 변환합니다.
성공하면 이 메서드는 디스크에 새 아카이브를 만들고 PharData 개체를 반환합니다. 이전 아카이브는 디스크에서 제거되지 않으며 프로세스가 완료된 후 수동으로 수행해야 합니다.
매개변수
format
Phar::TAR
또는Phar::ZIP
중 하나여야 합니다.null
로 설정하면 기존 파일 형식이 유지됩니다.compression
- 전체 아카이브 압축이 없는 경우
Phar::NONE
, zlib 기반 압축의 경우Phar::GZ
, bzip 기반 압축의 경우Phar::BZ2
중 하나여야 합니다. extension
- 이 매개변수는 변환된 아카이브의 기본 파일 확장자를 재정의하는 데 사용됩니다.
.phar
는 실행할 수 없는 tar 또는 zip 아카이브의 파일 이름 어디에도 사용할 수 없습니다.tar 기반 phar 아카이브로 변환하는 경우 기본 확장자는 지정된 압축에 따라
.tar
,.tar.gz
및.tar.bz2
입니다. zip 기반 아카이브의 경우 기본 확장자는.zip
입니다.
반환 값
이 메서드는 성공하면 PharData 개체를 반환하고 실패하면 null
을 반환합니다.
오류/예외
이 메서드는 압축할 수 없는 경우 BadMethodCallException을 throw하고, 알 수 없는 압축 메서드가 지정되었으며, 요청된 아카이브가 Phar::startBuffering()으로 버퍼링 중이고 Phar::stopBuffering()으로 종료되지 않았으며, 실행 중에 문제가 발생하면 PharException이 발생합니다. phar 생성 과정.
변경 로그
버전 | 설명 |
---|---|
8.0.0 | format ,compression 및 extension 는 이제 null을 허용합니다. |
Examples
예제 #1 Phar::convertToData() 예제
Phar::convertToData() 사용:
<?php
try {
$tarphar = new Phar('myphar.phar.tar');
// note that myphar.phar.tar is *not* unlinked
// convert it to the non-executable tar file format
// creates myphar.tar
$tar = $tarphar->convertToData();
// convert to non-executable zip format, creates myphar.zip
$zip = $tarphar->convertToData(Phar::ZIP);
// create myphar.tbz
$tgz = $tarphar->convertToData(Phar::TAR, Phar::BZ2, '.tbz');
// creates myphar.phar.tgz
$phar = $tarphar->convertToData(Phar::PHAR); // throws exception
} catch (Exception $e) {
// handle the error here
}
?>
기타
- Phar::convertToExecutable() - phar 아카이브를 다른 실행 가능한 phar 아카이브 파일 형식으로 변환
- PharData::convertToExecutable() - 실행 불가능한 tar / zip 아카이브를 실행 가능한 phar 아카이브로 변환
- PharData::convertToData() - phar 아카이브를 실행 불가능한 tar 또는 zip 파일로 변환