Php/docs/ziparchive.open
ZipArchive::open
(PHP 5 >= 5.2.0, PHP 7, PECL zip >= 1.1.0)
ZipArchive::open — Open 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';}?>