Php/docs/ziparchive.open

来自菜鸟教程
跳转至:导航、​搜索

ZipArchive::open

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

ZipArchive::openOpen a ZIP file archive


说明

public ZipArchive::open ( string $filename [, int $flags ] ) : mixed

Opens a new or existing zip archive for reading, writing or modifying.

Since libzip 1.6.0, a empty file is not a valid archive any longer.


参数

filename
The file name of the ZIP archive to open.
flags
The mode to use to open the archive.
  • ZipArchive::OVERWRITE
  • ZipArchive::CREATE
  • ZipArchive::RDONLY
  • ZipArchive::EXCL
  • ZipArchive::CHECKCONS


返回值

Error codes

Returns true on success or the error code.

  • ZipArchive::ER_EXISTS

    File already exists.

  • ZipArchive::ER_INCONS

    Zip archive inconsistent.

  • ZipArchive::ER_INVAL

    Invalid argument.

  • ZipArchive::ER_MEMORY

    Malloc failure.

  • ZipArchive::ER_NOENT

    No such file.

  • ZipArchive::ER_NOZIP

    Not a zip archive.

  • ZipArchive::ER_OPEN

    Can't open file.

  • ZipArchive::ER_READ

    Read error.

  • ZipArchive::ER_SEEK

    Seek error.


范例

Example #1 Open and extract

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

Example #2 Create an archive

<?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';}?>

Example #3 Create an temporary archive

<?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';}?>