ZipArchive::open

(PHP 5 >= 5.2.0, PHP 7, PHP 8, PECL zip >= 1.1.0)

ZipArchive::open — ZIP 파일 아카이브 열기


설명

public ZipArchive::open(string $filename, int $flags = 0): bool|int

읽기, 쓰기 또는 수정을 위해 신규 또는 기존 zip 아카이브를 엽니다.

libzip 1.6.0부터 빈 파일은 더 이상 유효한 아카이브가 아닙니다.


매개변수

filename
열려는 ZIP 아카이브의 파일 이름입니다.
flags
아카이브를 여는 데 사용할 모드입니다.

반환 값

성공하면 true를 반환하거나 다음 오류 코드 중 하나를 반환합니다.

ZipArchive::ER_EXISTS
재하는 파일입니다.
ZipArchive::ER_INCONS
Zip 아카이브가 일치하지 않습니다.
ZipArchive::ER_INVAL
잘못된 인수입니다.
ZipArchive::ER_MEMORY
Malloc failure.
ZipArchive::ER_NOENT
해당 파일이 없습니다.
ZipArchive::ER_NOZIP
zip 아카이브가 아닙니다.
ZipArchive::ER_OPEN
파일을 열 수 없습니다.
ZipArchive::ER_READ
읽기 오류입니다.
ZipArchive::ER_SEEK
찾기 오류입니다.

Examples

예 #1 열고 추출

                  
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip');
if ($res === TRUE) {
    echo 'ok';
    $zip->extractTo('test');
    $zip->close();
} else {
    echo 'failed, code:' . $res;
}
?>
                  
                

예 #2 아카이브 만들기

                  
<?php
$zip = new ZipArchive;
$res = $zip->open('test.zip', ZipArchive::CREATE);
if ($res === TRUE) {
    $zip->addFromString('test.txt', 'file content goes here');
    $zip->addFile('data.txt', 'entryname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>
                  
                

예 #3 임시 아카이브 만들기

                  
<?php
$name = tempnam(sys_get_temp_dir(), "FOO");
$zip = new ZipArchive;
$res = $zip->open($name, ZipArchive::OVERWRITE); /* truncate as empty file is not valid */
if ($res === TRUE) {
    $zip->addFile('data.txt', 'entryname.txt');
    $zip->close();
    echo 'ok';
} else {
    echo 'failed';
}
?>