php文件在線壓縮程序類 提供一款超完美的php文件在線壓縮程序,原理很簡單就是把文件以二進制形式保存了,以前用過利用rar的內核程序,這是php自帶的壓縮功能。
php教程文件在線壓縮程序類
提供一款超完美的php文件在線壓縮程序,原理很簡單就是把文件以二進制形式保存了,以前用過利用rar的內核程序,這是php自帶的壓縮功能。
*/
set_time_limit(0);
class phpzip{var $file_count = 0 ;
var $datastr_len = 0;
var $dirstr_len = 0;
var $filedata = ''; //該變量只被類外部程序訪問
var $gzfilename;
var $fp;
var $dirstr='';/*
返回文件的修改時間格式.
只為本類內部函數調用.
*/
function unix2dostime($unixtime = 0) {
$timearray = ($unixtime == 0) ? getdate() : getdate($unixtime);if ($timearray['year'] < 1980) {
$timearray['year'] = 1980;
$timearray['mon'] = 1;
$timearray['mday'] = 1;
$timearray['hours'] = 0;
$timearray['minutes'] = 0;
$timearray['seconds'] = 0;
}return (($timearray['year'] - 1980) << 25) | ($timearray['mon'] << 21) | ($timearray['mday'] << 16) |
($timearray['hours'] << 11) | ($timearray['minutes'] << 5) | ($timearray['seconds'] >> 1);
}
/*
初始化文件,建立文件目錄,
並返回文件的寫入權限.
*/
function startfile($path = 'faisun.zip'){
$this->gzfilename=$path;
$mypathdir=array();
do{
$mypathdir[] = $path = dirname($path);
}while($path != '.');
@end($mypathdir);
do{
$path = @current($mypathdir);
@mkdir($path);
}while(@prev($mypathdir));if($this->fp=@fopen($this->gzfilename,"w")){
return true;
}
return false;
}
/*
添加一個文件到 zip 壓縮包中.
*/
1 2