codecamp

PHP8 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

用于打开存档的模式。

  • ZipArchive::OVERWRITE

  • ZipArchive::创建

  • ZipArchive::RDONLY

  • zipArchive.EXCL (英语)

  • ZipArchive::CHECKCONS

返回值 

成功时返回 true,错误时返回 false 或以下错误代码之一:

ZipArchive::ER_EXISTS
文件已存在。
ZipArchive::ER_INCONS
Zip 存档不一致。
ZipArchive::ER_INVAL
无效参数。
ZipArchive::ER_MEMORY
Malloc 失败。
ZipArchive::ER_NOENT
没有这样的文件。
ZipArchive::ER_NOZIP
不是 zip 存档。
ZipArchive::ER_OPEN
无法打开文件。
ZipArchive::ER_READ
读取错误。
ZipArchive::ER_SEEK
查找错误。

示例 

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


PHP8 ZipArchive::locateName
PHP8 ZipArchive::registerCancelCallback
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

PHP8 语言参考

PHP8 函数参考

PHP8 影响 PHP 行为的扩展

PHP8 Componere

PHP8 安装/配置

PHP8 外部函数接口

PHP8 选项和信息

PHP8 选项/信息 函数

PHP8 Windows Cache for PHP

PHP8 WinCache 函数

PHP8 Yac

PHP8 身份认证服务

PHP8 Radius 函数

PHP8 压缩与归档扩展

PHP8 Phar

PHP8 Zip

PHP8 ZipArchive 类

PHP8 加密扩展

PHP8 OpenSSL

PHP8 OpenSSL 函数

PHP8 Sodium 函数

PHP8 数据库扩展

PHP8 针对各数据库系统对应的扩展

PHP8 CUBRID 函数

PHP8 Firebird/InterBase

PHP8 Firebird/InterBase函数

PHP8 MongoDB介绍驱动程序体系结构和特殊功能

PHP8 MongoDB\Driver\Command 类

PHP8 MongoDB\Driver\Query 类

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }