PHP - Manual手册 - CLXXXVII. Zip File Functions - Zip文件压缩函数 - 概述
来源:互联网 发布:西南大学网络教学平台 编辑:程序博客网 时间:2024/04/27 17:30
PHP - Manual手册 - CLXXXVII. Zip File Functions - Zip文件压缩函数 - 概述
CLXXXVII. Zip File Functions
简介
This extension enables you to transparently read or write ZIP compressed archives and the files inside them.
需求
PHP 4
The bundled PHP 4 version requires » ZZIPlib, by Guido Draheim, version 0.10.6 or later
PHP 5.2.0 or later
This extension uses the functions of » zlib by Jean-loup Gailly and Mark Adler.
安装
PHP 4
注意: Zip support before PHP 4.1.0 is experimental.
警告Because the PHP 4 zip extension is unmaintained we recommend that the PECL extension is used rather than the bundled one.
Linux systems
In order to use these functions you must compile PHP with zip support by using the --with-zip[=DIR] configure option, where [DIR] is the prefix of the » ZZIPlib library install.
Windows
Windows users need to enable php_zip.dll inside of php.ini in order to use these functions.
PHP 5.2.0 and later
Linux systems
In order to use these functions you must compile PHP with zip support by using the --enable-zip configure option.
Windows
Windows users need to enable php_zip.dll inside of php.ini in order to use these functions.
Installation via PECL
安装此 PECL 扩展库的信息可在手册中标题为 PECL 扩展库安装的一章中找到。 更多信息如新版本,下载,源文件,维护者信息以及更新日志等可以在这里找到: » http://pecl.php.net/package/zip.
可以从 » PHP 下载页面或者 » http://snaps.php.net/ 下载此 PECL 扩展的 DLL 文件。
在 PHP 4 中本 DLL 位于 PHP Windows 执行包中的 extensions/ 目录下。
运行时配置
本扩展模块在 php.ini 中未定义任何配置选项。
资源类型
There are two resource types used in the Zip module. The first one is the Zip directory for the Zip archive, the second Zip Entry for the archive entries.
预定义常量
以下常量由本扩展模块定义,因此只有在本扩展模块被编译到 PHP 中,或者在运行时被动态加载后才有效。
ZipArchive uses class constants. There is three types of constants, Flags (FL_) errors (ER_) or mode (no prefix).
- ZIPARCHIVE::CREATE (integer)
- Create the archive if it does not exist.
- ZIPARCHIVE::OVERWRITE (integer)
- Always start a new archive, this mode will overwrite the file if it already exists.
- ZIPARCHIVE::EXCL (integer)
- Error if archive already exists.
- ZIPARCHIVE::CHECKCONS (integer)
- Perform additional consistency checks on the archive, and error if they fail.
- ZIPARCHIVE::FL_NOCASE (integer)
- Ignore case on name lookup
- ZIPARCHIVE::FL_NODIR (integer)
- Ignore directory component
- ZIPARCHIVE::FL_COMPRESSED (integer)
- Read compressed data
- ZIPARCHIVE::FL_UNCHANGED (integer)
- Use original data, ignoring changes.
- ZIPARCHIVE::CM_DEFAULT (integer)
- better of deflate or store.
- ZIPARCHIVE::CM_STORE (integer)
- stored (uncompressed).
- ZIPARCHIVE::CM_SHRINK (integer)
- shrunk
- ZIPARCHIVE::CM_REDUCE_1 (integer)
- reduced with factor 1
- ZIPARCHIVE::CM_REDUCE_2 (integer)
- reduced with factor 2
- ZIPARCHIVE::CM_REDUCE_3 (integer)
- reduced with factor 3
- ZIPARCHIVE::CM_REDUCE_4 (integer)
- reduced with factor 4
- ZIPARCHIVE::CM_IMPLODE (integer)
- imploded
- ZIPARCHIVE::CM_DEFLATE (integer)
- deflated
- ZIPARCHIVE::CM_DEFLATE64 (integer)
- deflate64
- ZIPARCHIVE::CM_PKWARE_IMPLODE (integer)
- PKWARE imploding
- ZIPARCHIVE::CM_BZIP2 (integer)
- BZIP2 algorithm
- ZIPARCHIVE::ER_OK (integer)
- No error.
- ZIPARCHIVE::ER_MULTIDISK (integer)
- Multi-disk zip archives not supported.
- ZIPARCHIVE::ER_RENAME (integer)
- Renaming temporary file failed.
- ZIPARCHIVE::ER_CLOSE (integer)
- Closing zip archive failed
- ZIPARCHIVE::ER_SEEK (integer)
- Seek error
- ZIPARCHIVE::ER_READ (integer)
- Read error
- ZIPARCHIVE::ER_WRITE (integer)
- Write error
- ZIPARCHIVE::ER_CRC (integer)
- CRC error
- ZIPARCHIVE::ER_ZIPCLOSED (integer)
- Containing zip archive was closed
- ZIPARCHIVE::ER_NOENT (integer)
- No such file.
- ZIPARCHIVE::ER_EXISTS (integer)
- File already exists
- ZIPARCHIVE::ER_OPEN (integer)
- Can't open file
- ZIPARCHIVE::ER_TMPOPEN (integer)
- Failure to create temporary file.
- ZIPARCHIVE::ER_ZLIB (integer)
- Zlib error
- ZIPARCHIVE::ER_MEMORY (integer)
- Memory allocation failure
- ZIPARCHIVE::ER_CHANGED (string)
- Entry has been changed
- ZIPARCHIVE::ER_COMPNOTSUPP (integer)
- Compression method not supported.
- ZIPARCHIVE::ER_EOF (integer)
- Premature EOF
- ZIPARCHIVE::ER_INVAL (integer)
- Invalid argument
- ZIPARCHIVE::ER_NOZIP (integer)
- Not a zip archive
- ZIPARCHIVE::ER_INTERNAL (integer)
- Internal error
- ZIPARCHIVE::ER_INCONS (integer)
- Zip archive inconsistent
- ZIPARCHIVE::ER_REMOVE (integer)
- Can't remove file
- ZIPARCHIVE::ER_DELETED (integer)
- Entry has been deleted
范例
例 2467. Create a Zip archive
<?php
$zip = new ZipArchive();
$filename = "./test112.zip";
if ($zip->open($filename, ZIPARCHIVE::CREATE)!==TRUE) {
exit("cannot open <$filename>/n");
}
$zip->addFromString("testfilephp.txt" . time(), "#1 This is a test string added as testfilephp.txt./n");
$zip->addFromString("testfilephp2.txt" . time(), "#2 This is a test string added as testfilephp2.txt./n");
$zip->addFile($thisdir . "/too.php","/testfromfile.php");
echo "numfiles: " . $zip->numFiles . "/n";
echo "status:" . $zip->status . "/n";
$zip->close();
?>
例 2468. Dump the archive details and listing
<?php
$za = new ZipArchive();
$za->open('test_with_comment.zip');
print_r($za);
var_dump($za);
echo "numFiles: " . $za->numFiles . "/n";
echo "status: " . $za->status . "/n";
echo "statusSys: " . $za->statusSys . "/n";
echo "filename: " . $za->filename . "/n";
echo "comment: " . $za->comment . "/n";
for ($i=0; $i<$za->numFiles;$i++) {
echo "index: $i/n";
print_r($za->statIndex($i));
}
echo "numFile:" . $za->numFiles . "/n";
?>
例 2469. Zip stream wrapper, read an OpenOffice meta info
<?php
$reader = new XMLReader();
$reader->open('zip://' . dirname(__FILE__) . '/test.odt#meta.xml');
$odt_meta = array();
while ($reader->read()) {
if ($reader->nodeType == XMLREADER::ELEMENT) {
$elm = $reader->name;
} else {
if ($reader->nodeType == XMLREADER::END_ELEMENT && $reader->name == 'office:meta') {
break;
}
if (!trim($reader->value)) {
continue;
}
$odt_meta[$elm] = $reader->value;
}
}
print_r($odt_meta);
?>
This example uses the old API (PHP 4), it 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.
例 2470. Zip Usage Example
<?php
$zip = zip_open("/tmp/test2.zip");
if ($zip) {
while ($zip_entry = zip_read($zip)) {
echo "Name: " . zip_entry_name($zip_entry) . "/n";
echo "Actual Filesize: " . zip_entry_filesize($zip_entry) . "/n";
echo "Compressed Size: " . zip_entry_compressedsize($zip_entry) . "/n";
echo "Compression Method: " . zip_entry_compressionmethod($zip_entry) . "/n";
if (zip_entry_open($zip, $zip_entry, "r")) {
echo "File Contents:/n";
$buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
echo "$buf/n";
zip_entry_close($zip_entry);
}
echo "/n";
}
zip_close($zip);
}
?>
目录
- zip_close — Close a ZIP file archive
- zip_entry_close — Close a directory entry
- zip_entry_compressedsize — Retrieve the compressed size of a directory entry
- zip_entry_compressionmethod — Retrieve the compression method of a directory entry
- zip_entry_filesize — Retrieve the actual file size of a directory entry
- zip_entry_name — Retrieve the name of a directory entry
- zip_entry_open — Open a directory entry for reading
- zip_entry_read — Read from an open directory entry
- zip_open — Open a ZIP file archive
- zip_read — Read next entry in a ZIP file archive
- ZipArchive::addFile — Adds a file to a ZIP archive from the given path
- ZipArchive::addFromString — Add a file to a ZIP archive using its contents
- ZipArchive::close — Close the active archive (opened or newly created)
- ZipArchive::deleteIndex — delete an entry in the archive using its index
- ZipArchive::deleteName — delete an entry in the archive using its name
- ZipArchive::extractTo — Extract the archive contents
- ZipArchive::getArchiveComment — Returns the Zip archive comment
- ZipArchive::getCommentIndex — Returns the comment of an entry using the entry index
- ZipArchive::getCommentName — Returns the comment of an entry using the entry name
- ZipArchive::getFromIndex — Returns the entry contents using its index.
- ZipArchive::getFromName — Returns the entry contents using its name.
- ZipArchive::getNameIndex — Returns the name of an entry using its index
- ZipArchive::getStream — Get a file handler to the entry defined by its name (read only).
- ZipArchive::locateName — Returns the index of the entry in the archive
- ZipArchive::open — Open a ZIP file archive
- ZipArchive::renameIndex — Renames an entry defined by its index
- ZipArchive::renameName — Renames an entry defined by its name
- ZipArchive::setArchiveComment — Set the comment of a ZIP archive
- ZipArchive::setCommentIndex — Set the comment of an entry defined by its index
- ZipArchive::setCommentName — Set the comment of an entry defined by its name
- ZipArchive::statIndex — Get the details of an entry defined by its index.
- ZipArchive::statName — Get the details of an entry defined by its name.
- ZipArchive::unchangeAll — Undo all changes done in the archive.
- ZipArchive::unchangeArchive — Revert all global changes done in the archive.
- ZipArchive::unchangeIndex — Revert all changes done to an entry at the given index.
- ZipArchive::unchangeName — Revert all changes done to an entry with the given name.
[CLXXXVII. Zip File Functions - Zip文件压缩函数 - 概述 - 文档]
http://www.php.net/manual/zh/ref.zip.php
[PHP - 关键词]
php[PHP - 相关论坛]
http://php.board.newsmth.net/ http://bbs.pku.edu.cn/, homepage看版 http://forum.csdn.net/SList/PHP/[PHP - 下载]
AppServ 2.5.9, http://www.appservnetwork.com/Zend Optimizer 3.3.0a, http://www.zend.com/products/zend_optimizer
phpMyAdmin 2.11.2, http://www.phpmyadmin.net/home_page/index.php
Zend Core 2.5.0, http://www.zend.com/products/zend_core
Zend Platform 3.0.3, http://www.zend.com/products/zend_platform
PHP 5.2.5, http://www.php.net/releases/5_2_5.php
Zend Studio 5.5, http://www.zend.com/products/zend_studio
Zend Guard 5.0, http://www.zend.com/products/zend_guard
[PHP - Manual手册]
PHP - reset — 将数组的内部指针指向第一个单元, http://www.php.net/manual/zh/function.reset.php
PHP - serialize — 产生一个可存储的值的表示, http://www.php.net/manual/zh/function.serialize.php
PHP: 魔术常量 - Manual:, http://www.php.net/manual/zh/language.constants.predefined.php
PHP: SOAP Functions - soap.wsdl_cache_enabled, http://cn.php.net/manual/zh/ref.soap.php#ini.soap.wsdl-cache-enabled
字符串转换为数值, http://www.php.net/manual/zh/language.types.string.php#language.types.string.conversion
Class Abstraction类抽象, http://www.php.net/manual/zh/language.oop5.abstract.php
foreach遍历数组, http://www.php.net/manual/zh/control-structures.foreach.phpSOAP configuration options missing documentation文档中丢失SOAP配置选项, http://bugs.php.net/bug.php?id=38644
PHP 的命令行模式, http://www.php.net/manual/zh/features.commandline.php
位运算符, http://www.php.net/manual/zh/language.operators.bitwise.php#id2665181
file_exists检查文件或目录是否存在, http://www.php.net/manual/zh/function.file-exists.php
is_file判断给定文件名是否为一个正常的文件, http://www.php.net/manual/zh/function.is-file.php
settype设置变量的类型, http://cn.php.net/manual/zh/function.settype.php#function.settype
is_numeric检测变量是否为数字或数字字符串, http://www.php.net/manual/zh/function.is-numeric.php
ksort对数组按照键名排序, http://www.php.net/manual/zh/function.ksort.php
[PHP - Manual手册 - 下载]
http://www.php.net/download-docs.php[PHP - Manual手册 - 第 12 章 变量]
全局和静态变量的引用, http://www.php.net/manual/zh/language.variables.scope.php#language.variables.scope.references
[PHP - Manual手册 - 第 15 章 运算符]
错误控制运算符, http://www.php.net/manual/zh/language.operators.errorcontrol.php
[PHP - Manual手册 - 第19章 类与对象(PHP 5)]
Object cloning对象克隆, http://www.php.net/manual/zh/language.oop5.cloning.php[PHP - Manual手册 - 第20章 异常处理]
概述, http://www.php.net/manual/zh/language.exceptions.php
用异常处理php改进流程
[PHP - Manual手册 - 第21章 引用的解释]
引用返回, http://www.php.net/manual/zh/language.references.return.php
[PHP - Manual手册 - 第 43 章 PHP 的命令行模式]
表 43.2. CLI 专用常量, http://www.php.net/manual/zh/features.commandline.php#id2715646
[PHP - Manual手册 - V. Array 数组函数]
计算数组的交集, http://www.php.net/manual/zh/function.array-intersect.phparray_merge合并一个或多个数组, http://www.php.net/manual/zh/function.array-merge.php
[PHP - Manual手册 - XVIII. CURL, 客户端URL库函数]
概述, http://www.php.net/manual/zh/ref.curl.php
curl_setopt设置cURL传输的选项, http://www.php.net/manual/zh/function.curl-setopt.php
[PHP - Manual手册 - XXII. Date/Time 日期/时间函数]
date格式化一个本地时间/日期, http://www.php.net/manual/zh/function.date.php[PHP - Manual手册 - XXXIII. Error Handling and Logging Functions错误处理和日志函数]
概述, http://www.php.net/manual/zh/ref.errorfunc.php[PHP - Manual手册 - XLVII. Function Handling Functions函数管理函数]
register_shutdown_function注册一个脚本结束时调用的函数, http://www.php.net/manual/zh/function.register-shutdown-function.php
[PHP - Manual手册 - XC. Miscellaneous Functions杂项函数]
sleep延迟执行, http://www.php.net/manual/zh/ref.misc.php
uniqid生成唯一ID, http://www.php.net/manual/zh/function.uniqid.php
[PHP - Manual手册 - XCVIII. MySQL 函数]
mysql_real_escape_string转义SQL语句中使用的字符串中的特殊字符,并考虑到连接的当前字符集, http://www.php.net/manual/zh/function.mysql-real-escape-string.php
[PHP - Manual手册 - CII. Network Functions网络函数]
setcookie发送一个cookie, http://www.php.net/manual/zh/function.setcookie.php
[PHP - Manual手册 - CXXVII. PostgreSQL 数据库函数]
pg_insert将数组插入到表中, http://www.php.net/manual/zh/index.php[PHP - Manual手册 - CXXX. Program Execution Functions程序调用函数]
proc_open执行命令并打开用于输入输出的文件指针, http://www.php.net/manual/zh/function.proc-open.php
[PHP - Manual手册 - CXLIX. Session 会话处理函数]
session.save_path 定义了传递给存储处理器的参数, http://www.php.net/manual/zh/ref.session.php#ini.session.save-pathsession.use_only_cookies指定是否在客户端仅仅使用 cookie 来存放会话 ID, http://www.php.net/manual/zh/ref.session.php#ini.session.use-only-cookies
[PHP - Manual手册 - CLXI. String 字符串处理函数]
str_pad使用另一个字符串将一个字符串填充到指定长度, http://www.php.net/manual/zh/function.str-pad.phpstrpos查找一个字符串第一次出现的位置, http://www.php.net/manual/zh/function.strpos.php
substr返回字符串中的一部分, http://www.php.net/manual/zh/function.substr.php
[PHP - Manual手册 - CLXVI. Tidy Functions - Tidy函数]
概述, http://www.php.net/manual/zh/ref.tidy.php[PHP - Manual手册 - CLXVII. Tokenizer Functions解析器代号函数]
token_get_all把给定源代码分解成解析器代号, http://www.php.net/manual/zh/function.token-get-all.php
[PHP - Manual手册 - CLXIX. URL 函数]
概述, http://www.php.net/manual/zh/ref.url.php[PHP - Manual手册 - CLXXXVII. Zip File Functions - Zip文件压缩函数]
概述, http://www.php.net/manual/zh/ref.zip.php[PHP - Manual手册 - 附录 H. php.ini 配置选项]
register_globals 决定是否将 EGPCS(Environment,GET,POST,Cookie,Server)变量注册为全局变量, http://www.php.net/manual/zh/ini.core.php#ini.register-globalsshort_open_tag决定是否允许使用PHP代码开始标志的缩写形式, http://www.php.net/manual/zh/ini.core.php#ini.short-open-tag
[PHP - Manual手册 - 附录 L. 保留字列表]
服务器变量:$_SERVER, http://www.php.net/manual/zh/reserved.variables.php#reserved.variables.server
[PHP - Manual手册 - 附录 Q. PHP 类型比较表]
表 Q.2. 用 == 进行松散比较, http://www.php.net/manual/zh/types.comparisons.php#id9240444
[PHP - 应用实例]
语法着色, php.exe -s "%1" > "%1.html"
移除SimpleXML对象中的子对象
- PHP - Manual手册 - CLXXXVII. Zip File Functions - Zip文件压缩函数 - 概述
- File压缩ZIP文件
- PHP - Manual手册 - XXXIII. Error Handling and Logging Functions错误处理和日志函数 - 概述
- PHP - Manual手册 - 函数参考 - CURL, Client URL Library Functions客户端URL库函数 - 概述
- PHP - Manual手册 - CLXIX. URL 函数 - 概述
- php 将文件压缩为zip文件
- PHP - Manual手册 - Function Reference函数参考 - File System Related Extensions文件系统相关扩展 - Filesystem文件系统 - Filesystem Functions文件系统函数 -
- PHP - Manual手册 - Function Reference函数参考 - File System Related Extensions文件系统相关扩展 - Filesystem文件系统 - Filesystem Functions文件系统函数 -
- php 自带压缩zip函数
- php生成压缩zip文件的类
- PHP ZipArchive 实现压缩解压Zip文件
- php zip文件的解压与压缩
- php zip压缩
- zip php压缩类
- PHP ZIP压缩
- C# 压缩 ZIP文件
- Java压缩zip文件
- python zip文件 压缩
- 存贮过程实现分页
- Shanghai Stock Exchange
- 作业6
- hibernate中c3p0的使用
- PHP - Manual手册 - CLXXXVII. Zip File Functions - Zip文件压缩函数 - 概述
- SQL SERVER 存储过程学习笔记
- Windows下ORACLE 10g安装与操作图解
- VB自动登陆网络站点详解(四):在WebBrowser中发送POST请求
- 000stthk.exe
- 如何对webbrowser和IE编程
- 专家:毕业求职避免仨极端
- 如何对webbrowser和IE编程(二)
- 如何对webbrowser和IE编程(三)