PHP Class MedzZip, thinksns

Show file Open project: medz/thinksns-4 Class Usage Examples

Public Properties

Property Type Description
$centralDirectory
$fileHandle
$fileHeaderAndData
$localFileHeaderOffset

Public Methods

Method Description
_checkLocalFileHeaderAndCentralDir ( unknown_type $localFileHeaderData, unknown_type $centralDirectoryData ) : boolean 校验 'Local file header' 跟 'Central directory'
_checkZlib ( ) : boolean 检查PHP zlib扩展有没有载入
_findEOFCentralDirectoryRecord ( $filesize ) : string 读取'end of central directory record'区块数据
_getCentralDirectory ( $modTime, $modDate, $crc, $compressedSize, $unCompressedSize, $filenameLength, $fileHeaderLength, $filename ) : string 组装 'Central directory' 区块数据
_getDataDescriptor ( $crc, $compressedSize, $unCompressedSize ) : string 组装 'Data descriptor' 区块数据
_getDosFormatTime ( $timestamp ) : array 格式化时间为DOS格式
_readCentralDirectoryData ( ) : string 读取'Central directory' 区块数据
_readLocalFileHeaderAndData ( $centralDirectoryData ) : array 取得压缩数据中的'Local file header'区块跟压缩的数据
_recoverFromDosFormatTime ( $time, $date ) : integer 还原DOS格式的时间为时间戳
_unCompressData ( $data, $compressMethod ) : string 解压被压缩的数据
addFile ( $data, $filename, $timestamp ) : boolean 增加待压缩的文件
extract ( $file ) : array 解压缩一个文件
getCompressedFile ( ) : string 返回压缩后的数据
init ( ) 初始化

Method Details

_checkLocalFileHeaderAndCentralDir() public method

校验 'Local file header' 跟 'Central directory'
public _checkLocalFileHeaderAndCentralDir ( unknown_type $localFileHeaderData, unknown_type $centralDirectoryData ) : boolean
$localFileHeaderData unknown_type
$centralDirectoryData unknown_type
return boolean

_checkZlib() public method

检查PHP zlib扩展有没有载入
public _checkZlib ( ) : boolean
return boolean

_findEOFCentralDirectoryRecord() public method

读取'end of central directory record'区块数据
public _findEOFCentralDirectoryRecord ( $filesize ) : string
$filesize int 文件大小
return string

_getCentralDirectory() public method

组装 'Central directory' 区块数据
public _getCentralDirectory ( $modTime, $modDate, $crc, $compressedSize, $unCompressedSize, $filenameLength, $fileHeaderLength, $filename ) : string
$modTime
$modDate
$crc
$compressedSize
$unCompressedSize
$filenameLength
$fileHeaderLength
$filename
return string

_getDataDescriptor() public method

组装 'Data descriptor' 区块数据
public _getDataDescriptor ( $crc, $compressedSize, $unCompressedSize ) : string
$crc
$compressedSize
$unCompressedSize
return string

_getDosFormatTime() public method

格式化时间为DOS格式
public _getDosFormatTime ( $timestamp ) : array
$timestamp
return array

_readCentralDirectoryData() public method

读取'Central directory' 区块数据

_readLocalFileHeaderAndData() public method

取得压缩数据中的'Local file header'区块跟压缩的数据
public _readLocalFileHeaderAndData ( $centralDirectoryData ) : array
$centralDirectoryData array 'Central directory' 区块数据
return array

_recoverFromDosFormatTime() public method

还原DOS格式的时间为时间戳
public _recoverFromDosFormatTime ( $time, $date ) : integer
$time
$date
return integer

_unCompressData() public method

解压被压缩的数据
public _unCompressData ( $data, $compressMethod ) : string
$data string 被压缩的数据
$compressMethod int 压缩的方式
return string 解压后的数据

addFile() public method

增加待压缩的文件
public addFile ( $data, $filename, $timestamp ) : boolean
$data string 待压缩的字符串
$filename string 文件名
$timestamp int 时间戳
return boolean

extract() public method

解压缩一个文件
public extract ( $file ) : array
$file string 文件名
return array 解压缩后的数据,其中包括时间、文件名、数据

getCompressedFile() public method

返回压缩后的数据
public getCompressedFile ( ) : string
return string 压缩后的数据

init() public method

初始化
public init ( )

Property Details

$centralDirectory public property

public $centralDirectory

$fileHandle public property

public $fileHandle

$fileHeaderAndData public property

public $fileHeaderAndData

$localFileHeaderOffset public property

public $localFileHeaderOffset