mirror of
https://github.com/phpbb/phpbb.git
synced 2025-06-28 06:08:52 +00:00
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:
parent
3c5311ccfa
commit
ec7110b0f1
2 changed files with 31 additions and 5 deletions
|
@ -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");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
||||
?>
|
||||
?>
|
Loading…
Add table
Reference in a new issue