Zip
实现 ExtractableInterfaceArchive 包的 ZIP 格式适配器
ZIP 压缩代码部分基于以下代码:Eric Mueller [email protected] http://www.zend.com/codex.php?id=535&single=1
Deins125 [email protected] http://www.zend.com/codex.php?id=470&single=1
ZIP 压缩日期代码部分基于 Peter Listiak 的代码 [email protected]
此类受 The Horde Project 的 Compress 包的启发,并在代码和概念上大量借鉴了该包 http://www.horde.org
贡献者 |
Chuck Hagenbuch [email protected] Michael Slusarz [email protected] Michael Cochrane [email protected] |
---|---|
自 |
1.0 |
包 |
Joomla 框架 |
方法
__construct
创建一个新的 Archive 对象。
__construct(array|\ArrayAccess options = []) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- options
array<string|int, mixed>|ArrayAccess
一个选项数组或一个实现了 \ArrayAccess 的对象
响应
混合
addToZipFile
将一个“文件”添加到 ZIP 存档中。
addToZipFile(mixed||string|int &file, mixed||string|int &contents, mixed||string|int &ctrldir) :
自 |
1.0 |
---|---|
待办事项 |
审查并完成实现 |
参数
- file
array<string|int, mixed>
要添加的文件数据数组- contents
array<string|int, mixed>
现有的压缩文件数组。- ctrldir
array<string|int, mixed>
中央目录信息数组。
响应
空
checkZipData
检查数据是否为有效的 ZIP 文件。
checkZipData( data) :
自 |
1.0 |
---|
参数
- data
string
ZIP 存档数据缓冲区。
响应
bool
如果有效则为真,如果无效则为假。
create
从文件数据数组创建 ZIP 压缩文件。
create( archive, mixed||string|int files) :
自 |
1.0 |
---|---|
待办事项 |
完成实现 |
参数
- archive
string
保存存档的路径。- files
array<string|int, mixed>
要添加到存档中的文件数组。
响应
bool
如果成功则为真。
createZipFile
创建 ZIP 文件。
createZipFile(mixed||string|int contents, mixed||string|int ctrlDir, path) :
官方 ZIP 文件格式:http://www.pkware.com/appnote.txt
自 |
1.0 |
---|---|
待办事项 |
审查并完成实现 |
参数
- contents
array<string|int, mixed>
现有的压缩文件数组。- ctrlDir
array<string|int, mixed>
中央目录信息数组。- path
string
存储存档的路径。
响应
bool
如果成功则为真
extract
将 ZIP 压缩文件解压缩到给定路径
extract( archive, destination) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- archive
string
要解压缩的 ZIP 存档路径- destination
string
解压缩存档到的路径
响应
bool
如果成功则为真
extractCustom
使用仅需要 zlib 支持的基于 php 的算法将 ZIP 压缩文件解压缩到给定路径
extractCustom( archive, destination) :
自 |
1.0 |
---|---|
抛出 |
|
参数
- archive
string
要解压缩的 ZIP 存档路径。- destination
string
解压缩存档到的路径。
响应
bool
如果成功则为真
extractNative
使用本地 php api 调用来加快速度,将 ZIP 压缩文件解压缩到给定路径
extractNative( archive, destination) :
抛出 |
|
---|---|
自 |
1.0 |
参数
- archive
string
要解压缩的 ZIP 存档路径- destination
string
解压缩存档到的路径
响应
bool
成功时为真
getFileData
返回 ZIP 存档中偏移量处文件的的文件数据
getFileData( key) :
自 |
1.0 |
---|
参数
- key
int
存档中文件的偏移量。
响应
string
未压缩的文件数据缓冲区。
hasNativeSupport
确定服务器是否具有本地 zip 支持以加快处理速度的方法
hasNativeSupport() :
自 |
1.0 |
---|
响应
bool
如果 php 具有本地 ZIP 支持则为真
isBelow
检查路径是否在给定目标路径之下
isBelow( destination, path) :
自 |
1.1.10 |
---|
参数
- destination
string
目标路径- path
string
要检查的路径
响应
布尔
isSupported
测试此适配器是否可以在此计算机上解压缩文件。
isSupported() :
自 |
1.0 |
---|
响应
bool
如果支持则为真
readZipInfo
从 ZIP 存档缓冲区获取文件/数据列表。
readZipInfo( data) :
KEY: Position in zipfile VALUES: 'attr' -- File attributes 'crc' -- CRC checksum 'csize' -- Compressed file size 'date' -- File modification time 'name' -- Filename 'method'-- Compression method 'size' -- Original file size 'type' -- File type
自 |
1.0 |
---|---|
抛出 |
|
参数
- data
string
ZIP 存档缓冲区。
响应
bool
成功时为真
unix2DosTime
将 UNIX 时间戳转换为 4 字节 DOS 日期和时间格式(日期在高 2 字节,时间在低 2 字节,允许幅度比较)。
unix2DosTime( unixtime = null) :
自 |
1.0 |
---|
参数
- unixtime
int
当前的 UNIX 时间戳。
响应
int
以 4 字节 DOS 格式表示的当前日期。
常量
方法
ZIP 压缩方法。
值 | [0x0 => '无', 0x1 => '压缩', 0x2 => '超快速', 0x3 => '快速', 0x4 => '普通', 0x5 => '最大', 0x6 => '压缩', 0x8 => '解压缩'] |
---|---|
自 |
1.0 |
类型
array<string|int, mixed>
CTRL_DIR_HEADER
中央目录记录的开头。
值 | "PK\x01\x02" |
---|---|
自 |
1.0 |
类型
字符串
CTRL_DIR_END
中央目录记录的结尾。
值 | "PK\x05\x06\x00\x00\x00\x00" |
---|---|
自 |
1.0 |
类型
字符串
FILE_HEADER
文件内容的开头。
值 | "PK\x03\x04" |
---|---|
自 |
1.0 |
类型
字符串
属性
data
ZIP 文件数据缓冲区
自 |
1.0 |
---|
类型
字符串
metadata
ZIP 文件元数据数组
自 |
1.0 |
---|
类型
array<string|int, mixed>
options
保存选项数组。
自 |
1.0 |
---|
类型
array<string|int, mixed>|ArrayAccess