Файл: obmen/header.php
Строк: 32
<?php
// Файлообменник WIN.B9M.RU
// Mod by Gemorroj
header('Content-type: text/html; charset=utf-8');
header('Cache-control: no-cache');
// Узнаем какие типы сжатия поддерживает браузер
if ($_SERVER['HTTP_ACCEPT_ENCODING']) {
$compress = strtolower($_SERVER['HTTP_ACCEPT_ENCODING']);
} else {
$compress = strtolower($_SERVER['HTTP_TE']);
}
if (substr_count($compress, 'deflate')) // Если поддерживается deflate
{
function compress_output_deflate($output)
{
return gzdeflate($output, 4); // 4 - это степень компресии, возможные варианты от 0 до 9. Больше 4 ставить не следует, в степени компрессии выигрыша нет, а нагрузка на сервер растет.
}
header('Content-Encoding: deflate');
ob_start('compress_output_deflate');
ob_implicit_flush(0);
} elseif (substr_count($compress, 'gzip')) // Если поддерживается gzip
{
function compress_output_gzip($output)
{
return gzencode($output, 4); // 4 - это степень компресии, возможные варианты от 0 до 9. Больше 4 ставить не следует, в степени компрессии выигрыша нет, а нагрузка на сервер растет.
}
header('Content-Encoding: gzip');
ob_start('compress_output_gzip');
ob_implicit_flush(0);
} elseif (substr_count($compress, 'x-gzip')) // Если поддерживается x-gzip
{
function compress_output_x_gzip($output)
{
$x = "x1fx8bx08x00x00x00x00x00";
$size = strlen($output);
$crc = crc32($output);
$output = gzcompress($output, 4); // 4 - это степень компресии, возможные варианты от 0 до 9. Больше 4 ставить не следует, в степени компрессии выигрыша нет, а нагрузка на сервер растет.
$output = substr($output, 0, strlen($output) - 4);
$x .= $output;
$x .= pack('V', $crc);
$x .= pack('V', $size);
return $x;
}
header('Content-Encoding: x-gzip');
ob_start('compress_output_x_gzip');
ob_implicit_flush(0);
}
?>