function output_gz_compressed($contents)
{
if (stripos($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip') !== False)
{
$contents = gzcompress($contents, 9);
//remove old crc
$contents = substr($contents, 0, strlen($contents) - 4);
header('Content-Encoding: gzip');
header('Content-Length: ' + strlen($contents));
//gzip header
echo "\x1f\x8b\x08\x00\x00\x00\x00\x00";
echo $contents;
echo pack('V', crc32($contents));
echo pack('V', strlen($contents));
}
else
echo $contents;
}