ZipArchive::open
Open a ZIP file archive
Description
public boolint ZipArchive::open(string $filename
, int $flags
= 0)
Since libzip 1.6.0, an empty file is not a valid archive any longer.
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::RDONLY
-
ZipArchive::EXCL
-
ZipArchive::CHECKCONS
Return Values
Returns true
on success, false
or one of the following error codes on error:
-
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.
Examples
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';
}
?>