Файл: inc/gzip.php
Строк: 62
<?php
###########################################################################
## -=FERNUS=- ##
## --------------- ##
## http://sekis.org ##
## *-*-*-* ##
## *Колян* ##
## ICQ: 42-11-04-014 ##
## E-mail: chipak@list.ru ##
## FERNUS-KAT v.2.0.SUPER ##
## Любые изменения кода скрипта, его перепродажа (без согласования ##
## со мной)-ЗАПРЕЩЕННО и приследуется Мной и Законом об ##
## Авторских Правах!!! ##
## Автор Скрипта: WI[NN]T ##
## Доработал: FERNUS ##
###########################################################################
ob_start();
ob_implicit_flush(0);
// Проверка возможности использования алгоритма сжатия
function CheckCanGzip(){
global $HTTP_ACCEPT_ENCODING;
if (headers_sent() || @connection_timeout() || 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;
}
// Процедура сжатия
function GzDocOut($level=1,$debug=0){
$ENCODING = CheckCanGzip();
if ($ENCODING){
print "nn";
$Contents = ob_get_contents();
ob_end_clean();
if ($debug){
$s = "
Длина без сжатия: ".strlen($Contents);
$s .= "
Длина с сжатием: ".strlen(gzcompress($Contents,$level));
$Contents .= $s;
}
header("Content-Encoding: $ENCODING");
print "x1fx8bx08x00x00x00x00x00";
$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;
}
}
?>