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|\ArrayAccess
An 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
array
File data array to add- contents
array
An array of existing zipped files.- ctrldir
array
An 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
string
ZIP archive data buffer.
Response
bool
True 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
string
Path to save archive.- files
array
Array of files to add to archive.
Response
bool
True 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
array
An array of existing zipped files.- ctrlDir
array
An array of central directory information.- path
string
The path to store the archive.
Response
bool
True if successful
extract
Extract a ZIP compressed file to a given path
extract(string archive, string destination) : bool
since |
1.0 |
---|---|
throws |
|
Arguments
- archive
string
Path to ZIP archive to extract- destination
string
Path to extract archive into
Response
bool
True 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
string
Path to ZIP archive to extract.- destination
string
Path to extract archive into.
Response
bool
True 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
string
Path to ZIP archive to extract- destination
string
Path to extract archive into
Response
bool
True 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
int
The position of the file in the archive.
Response
string
Uncompressed file data buffer.
hasNativeSupport
Method to determine if the server has native zip support for faster handling
hasNativeSupport() : bool
since |
1.0 |
---|
Response
bool
True 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
string
The destination path- path
string
The path to be checked
Response
bool
isSupported
Tests whether this adapter can unpack files on this computer.
isSupported() : bool
since |
1.0 |
---|
Response
bool
True 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
string
The ZIP archive buffer.
Response
bool
True 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
int
The current UNIX timestamp.
Response
int
The 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