<?php
//----------------------- Буферизация и сжатие документа -----------------------//
if(extension_loaded('zlib') and ini_get('zlib.output_compression')<>'On' and ini_get('output_handler')<>'ob_gzhandler' and ini_get('output_handler')<>'zlib.output_compression'){
if(isset($_SERVER['HTTP_ACCEPT_ENCODING'])){$accept_encoding=$_SERVER['HTTP_ACCEPT_ENCODING'];}
elseif(isset($_SERVER['HTTP_TE'])){$accept_encoding=$_SERVER['HTTP_TE'];}
else{$accept_encoding='no_accept_encoding';}
if(strpos($accept_encoding,'gzip')!==FALSE){
function ob_gzencode($buffer){
return gzencode($buffer,1);
}
header('Content-Encoding: gzip');
ob_start('ob_gzencode');
$buffer_compression_gzip=TRUE;
}
elseif(strpos($accept_encoding,'deflate')!==FALSE){
function ob_gzdeflate($buffer){
return gzdeflate($buffer,1);
}
header('Content-Encoding: deflate');
ob_start('ob_gzdeflate');
$buffer_compression_deflate=TRUE;
}
elseif(strpos($accept_encoding,'x-gzip')!==FALSE){
function ob_gzcompress($buffer){
$size=strlen($buffer);
$crc=crc32($buffer);
$buffer=gzcompress($buffer,1);
$buffer=substr($buffer,0,strlen($buffer)-4);
return "\x1f\x8b\x08\x00\x00\x00\x00\x00".$buffer.pack('V',$crc).pack('V',$size);
}
header('Content-Encoding: x-gzip');
ob_start('ob_gzcompress');
$buffer_compression_x_gzip=TRUE;
}else{
ob_start();
}}else{
ob_start();
}
//----------------------- Буферизация и сжатие документа -----------------------//