Zip
Implements ExtractableInterfaceZIP format adapter for the Archive package
The ZIP compression code is partially based on code from: 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
The ZIP compression date code is partially based on code from Peter Listiak [email protected]
This class is inspired from and draws heavily in code and concept from the Compress package of The Horde Project http://www.horde.org
| contributor |
Chuck Hagenbuch [email protected] Michael Slusarz [email protected] Michael Cochrane [email protected] |
|---|---|
| since |
1.0 |
| package |
Joomla Framework |
Methods
__construct
Create a new Archive object.
__construct(array|\ArrayAccess options = []) : mixed
| since |
1.0 |
|---|---|
| throws |
|
Arguments
- options
array|\ArrayAccessAn array of options or an object that implements \ArrayAccess
Response
mixed
addToZipFile
Adds a "file" to the ZIP archive.
addToZipFile(array &file, array &contents, array &ctrldir) : void
| since |
1.0 |
|---|---|
| todo |
Review and finish implementation |
Arguments
- file
arrayFile data array to add- contents
arrayAn array of existing zipped files.- ctrldir
arrayAn array of central directory information.
checkZipData
Checks to see if the data is a valid ZIP file.
checkZipData(string data) : bool
| since |
1.0 |
|---|
Arguments
- data
stringZIP archive data buffer.
Response
boolTrue if valid, false if invalid.
create
Create a ZIP compressed file from an array of file data.
create(string archive, array files) : bool
| since |
1.0 |
|---|---|
| todo |
Finish Implementation |
Arguments
- archive
stringPath to save archive.- files
arrayArray of files to add to archive.
Response
boolTrue if successful.
createZipFile
Creates the ZIP file.
createZipFile(array contents, array ctrlDir, string path) : bool
Official ZIP file format: http://www.pkware.com/appnote.txt
| since |
1.0 |
|---|---|
| todo |
Review and finish implementation |
Arguments
- contents
arrayAn array of existing zipped files.- ctrlDir
arrayAn array of central directory information.- path
stringThe path to store the archive.
Response
boolTrue if successful
extract
Extract a ZIP compressed file to a given path
extract(string archive, string destination) : bool
| since |
1.0 |
|---|---|
| throws |
|
Arguments
- archive
stringPath to ZIP archive to extract- destination
stringPath to extract archive into
Response
boolTrue if successful
extractCustom
Extract a ZIP compressed file to a given path using a php based algorithm that only requires zlib support
extractCustom(string archive, string destination) : bool
| since |
1.0 |
|---|---|
| throws |
|
Arguments
- archive
stringPath to ZIP archive to extract.- destination
stringPath to extract archive into.
Response
boolTrue if successful
extractNative
Extract a ZIP compressed file to a given path using native php api calls for speed
extractNative(string archive, string destination) : bool
| throws |
|
|---|---|
| since |
1.0 |
Arguments
- archive
stringPath to ZIP archive to extract- destination
stringPath to extract archive into
Response
boolTrue on success
getFileData
Returns the file data for a file by offset in the ZIP archive
getFileData(int key) : string
| since |
1.0 |
|---|
Arguments
- key
intThe position of the file in the archive.
Response
stringUncompressed file data buffer.
hasNativeSupport
Method to determine if the server has native zip support for faster handling
hasNativeSupport() : bool
| since |
1.0 |
|---|
Response
boolTrue if php has native ZIP support
isBelow
Check if a path is below a given destination path
isBelow(string destination, string path) : bool
| since |
1.1.10 |
|---|
Arguments
- destination
stringThe destination path- path
stringThe path to be checked
Response
bool
isSupported
Tests whether this adapter can unpack files on this computer.
isSupported() : bool
| since |
1.0 |
|---|
Response
boolTrue if supported
readZipInfo
Get the list of files/data from a ZIP archive buffer.
readZipInfo(string data) : bool
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
| since |
1.0 |
|---|---|
| throws |
|
Arguments
- data
stringThe ZIP archive buffer.
Response
boolTrue on success
unix2DosTime
Converts a UNIX timestamp to a 4-byte DOS date and time format (date in high 2-bytes, time in low 2-bytes allowing magnitude comparison).
unix2DosTime(int unixtime = null) : int
| since |
1.0 |
|---|
Arguments
- unixtime
intThe current UNIX timestamp.
Response
intThe current date in a 4-byte DOS format.
Constants
METHODS
ZIP compression methods.
| Value | [0x0 => 'None', 0x1 => 'Shrunk', 0x2 => 'Super Fast', 0x3 => 'Fast', 0x4 => 'Normal', 0x5 => 'Maximum', 0x6 => 'Imploded', 0x8 => 'Deflated'] |
|---|---|
| since |
1.0 |
Type(s)
array
CTRL_DIR_HEADER
Beginning of central directory record.
| Value | "PK\x01\x02" |
|---|---|
| since |
1.0 |
Type(s)
string
CTRL_DIR_END
End of central directory record.
| Value | "PK\x05\x06\x00\x00\x00\x00" |
|---|---|
| since |
1.0 |
Type(s)
string
FILE_HEADER
Beginning of file contents.
| Value | "PK\x03\x04" |
|---|---|
| since |
1.0 |
Type(s)
string
Properties
data
ZIP file data buffer
| since |
1.0 |
|---|
Type(s)
string
metadata
ZIP file metadata array
| since |
1.0 |
|---|
Type(s)
array
options
Holds the options array.
| since |
1.0 |
|---|
Type(s)
array|\ArrayAccess