PharData::extractTo

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

PharData::extractTo — tar/zip 아카이브의 내용을 디렉토리로 추출


설명

public PharData::extractTo(string $directory, array|string|null $files = null, bool $overwrite = false): bool

tar/zip 아카이브 내의 모든 파일을 디스크로 추출합니다. 추출된 파일 및 디렉토리는 아카이브에 저장된 권한을 유지합니다. 선택적 매개변수를 사용하면 추출할 파일과 디스크의 기존 파일을 덮어쓸 수 있는지 여부를 선택적으로 제어할 수 있습니다. 두 번째 매개변수 파일은 추출할 파일 또는 디렉토리의 이름이거나 추출할 파일 및 디렉토리의 이름 배열일 수 있습니다. 기본적으로 이 메서드는 기존 파일을 덮어쓰지 않으며 세 번째 매개변수를 true로 설정하여 파일 덮어쓰기를 활성화할 수 있습니다. 이 메서드는 ZipArchive::extractTo()와 유사합니다.


매개변수

directory
주어진 파일을 추출할 경로
files
추출할 파일 또는 디렉토리의 이름 또는 추출할 파일/디렉토리의 배열
overwrite
기존 파일 덮어쓰기를 활성화하려면 true로 설정하십시오.

반환 값

성공하면 true를 반환하지만 throw된 예외를 확인하고 아무 것도 throw되지 않으면 성공이라고 가정하는 것이 좋습니다.


오류/예외

디스크에 변경 사항을 플러시하는 동안 오류가 발생하면 PharException이 발생합니다.


Examples

예제 #1 PharData::extractTo() 예제

                  
<?php
try {
    $phar = new PharData('myphar.tar');
    $phar->extractTo('/full/path'); // extract all files
    $phar->extractTo('/another/path', 'file.txt'); // extract only file.txt
    $phar->extractTo('/this/path',
        array('file1.txt', 'file2.txt')); // extract 2 files only
    $phar->extractTo('/third/path', null, true); // extract all files, and overwrite
} catch (Exception $e) {
    // handle errors
}
?>
                  
                

노트

메모: Windows NTFS 파일 시스템은 파일 이름의 일부 문자, 즉 <|>*?":를 지원하지 않습니다. 뒤에 점이 있는 파일 이름도 지원되지 않습니다. 일부 추출 도구와 달리 이 메서드는 이러한 문자를 밑줄로 바꾸지 않고 대신 이러한 파일을 추출하지 못합니다.


기타