Location: PHPKode > projects > VoxRank > voxrankfree/gzdoc.php
<?php
/* Put this code in a file called gzdoc.php.
Then in your pages put <? include "gzdoc.php"; ?> right at the top, before everything else.
Then at the bottom put <? gzdocout(); ?>
Thanks to http://php.weblogs.com/
*/
ob_start();
ob_implicit_flush(0);
function CheckCanGzip(){
    global $HTTP_ACCEPT_ENCODING;
  if (headers_sent() || 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=9,$debug=0){
	global $level, $s;
    $ENCODING = CheckCanGzip();
    if ($ENCODING){
        $Contents = ob_get_contents();
        ob_end_clean();
        if ($debug){
            $s = "<p>Not compress length: ".strlen($Contents);
            $s .= "<br>Compressed length: ".strlen(gzcompress($Contents,$level));
            $Contents .= $s;
        }
        header("Content-Encoding: $ENCODING");
        print "\x1f\x8b\x08\x00\x00\x00\x00\x00";
        $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;
    }
}
?>
Return current item: VoxRank