Updated gzip encoding for < 4.0.4pl1 I think ...

git-svn-id: file:///svn/phpbb/trunk@529 89ea8834-ac86-4346-8a33-228a782c2dd0
This commit is contained in:
Paul S. Owen 2001-06-30 23:36:10 +00:00
parent 3c5311ccfa
commit ec7110b0f1
2 changed files with 31 additions and 5 deletions

View file

@ -27,6 +27,7 @@ define(HEADER_INC, TRUE);
//
// gzip_compression
//
$do_gzip_compress = FALSE;
if($board_config['gzip_compress'])
{
$phpver = phpversion();
@ -40,10 +41,14 @@ if($board_config['gzip_compress'])
}
else if($phpver > "4.0")
{
// It would be nice if we
// used output buffering here
// to allow compression for
// versions < 4.0.4pl1
if(strstr($HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'], 'gzip'))
{
$do_gzip_compress = TRUE;
ob_start();
ob_implicit_flush(0);
header("Content-Encoding: gzip");
}
}
}

View file

@ -53,6 +53,27 @@ $totaltime = ($endtime - $starttime);
printf("<center><font size=-2>phpBB Created this page in %f seconds.</font></center>", $totaltime);
//
// Compress buffered output if required
// and send to browser
//
if($do_gzip_compress)
{
$gzip_contents = ob_get_contents();
ob_end_clean();
$gzip_size = strlen($gzip_contents);
$gzip_crc = crc32($gzip_contents);
$gzip_contents = gzcompress($gzip_contents, 9);
$gzip_contents = substr($gzip_contents, 0, strlen($gzip_contents) - 4);
echo "\x1f\x8b\x08\x00\x00\x00\x00\x00";
echo $gzip_contents;
echo pack("V", $gzip_crc);
echo pack("V", $gzip_size);
}
exit;
?>
?>