Open a ZIP file archive

ZipArchive::locateName
ZipArchive::renameIndex
ZipArchive
PHP Manual

# ZipArchive::open

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

ZipArchive::open — Open a ZIP file archive

### Description

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

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

### Parameters

`filename`

  The file name of the ZIP archive to open.

`flags`

  The mode to use to open the archive.

  - `ZIPARCHIVE::OVERWRITE`

  - `ZIPARCHIVE::CREATE`

  - `ZIPARCHIVE::EXCL`

  - `ZIPARCHIVE::CHECKCONS`

### Return Values

`Error codes`

  Returns `TRUE` on success or the error code.

  - `ZIPARCHIVE::ER_EXISTS`

  - `ZIPARCHIVE::ER_INCONS`

  - `ZIPARCHIVE::ER_INVAL`

  - `ZIPARCHIVE::ER_MEMORY`

  - `ZIPARCHIVE::ER_NOENT`

  - `ZIPARCHIVE::ER_NOZIP`

  - `ZIPARCHIVE::ER_OPEN`

  - `ZIPARCHIVE::ER_READ`

  - `ZIPARCHIVE::ER_SEEK`

### Examples

This example opens a ZIP file archive, reads each file in the archive and prints out its contents. The test2.zip archive used in this example is one of the test archives in the ZZIPlib source distribution.

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

ZipArchive::locateName
ZipArchive::renameIndex
ZipArchive
PHP Manual