| GZU521.COM学习网 |
|
** |<? ** | gzdocout(); ** |? > ** -------------end of file----------- */ ob_start(); ob_implicit_flush(0); function checkcangzip(){ global $http_accept_encoding; if (headers_sent() || connection_timeout() || connection_aborted()){ return 0; } if (strpos($http_accept_encoding, 'x-gzip') !== false) return "x-gzip"; if (strpos($http_accept_encoding,'gzip') !== false) return "gzip"; return 0; } /* $level = compression level 0-9, 0=none, 9=max */ function gzdocout($level=1,$debug=0){ $encoding = checkcangzip(); if ($encoding){ print "n<!-- use compress $encoding -->n"; $contents = ob_get_contents(); ob_end_clean(); if ($debug){ $s = "<p>not compress length: ".strlen($contents); $s .= " compressed length: ".strlen(gzcompress($contents,$level)); $contents .= $s; } header("content-encoding: $encoding"); print "x1fx8bx08x00x00x00x00x00"; $size = strlen($contents); $crc = crc32($contents); $contents = gzcompress($contents,$level); $contents = substr($contents, 0, strlen($contents) - 4); print $contents; print pack('v',$crc); print pack('v',$size); exit; }else{ ob_end_flush(); exit; } } ?> 这是catoc的一段很早以前的代码,是在weblogs.com看到的,他利用了zlib的函数,对传输的内容进行了压缩,测试表明,对于10k以上的页面,会产生效果,而且页面越大,效果越明显…… |
责任编辑:gzu521