gzencode


(PHP 4 >= 4.0.4, PHP 5, PHP 7)
gzencode — Create a gzip compressed string
Description
gzencode ( string $data [, int $level = -1 [, int $encoding_mode = FORCE_GZIP ]] ) : string
This function returns a compressed version of the input data compatible with the output of the gzip program.
data
The data to encode.
level
The level of compression. Can be given as 0 for no compression up to 9 for maximum compression. If not given, the default compression level will be the default compression level of the zlib library.
encoding_mode
The encoding mode. Can be FORCE_GZIP (the default) or FORCE_DEFLATE.
Prior to PHP 5.4.0, using FORCE_DEFLATE results in a standard zlib deflated string (inclusive zlib headers) after a gzip file header but without the trailing crc32 checksum.
In PHP 5.4.0 and later, FORCE_DEFLATE generates RFC 1950 compliant output, consisting of a zlib header, the deflated data, and an Adler checksum.
gzencode(string $data [, int level [,int$encoding_mode='FORCE_GZIP']]);
用来压缩字符串数据 压缩率很高  根据测试,压缩后数据量有时只有前数据量的十分之一  效果相当不错

function writezip($zipfilename,$data){
 //$data    = gzdeflate($data,9);
 $data    = gzencode($data,9);
 $logFile = ini_get('error_log'); 
 if($data == false) {
  file_exists($logFile) && file_put_contents($logFile,'gzdeflate error');
 }else{ 
   file_put_contents($zipfilename.".gz",$data);
 }
}