Да нигде просто хотел проверить как это работает. Простой файл:
| Код | <?php
ob_start("ob_gzhandler");
?> <html> <body> <p>Здесь должна быть компрессируемая страничка.</p> </html> <body>
|
Или так:
| Код | <?php
header('Content-Encoding: gzip');
ob_start(); ob_implicit_flush(0); ?>
<html> <head> <title>Заголовок страницы</title> </head> <body>
<?php echo "Это компрессия. Проверить можно убрав вывод заголовка 'Content-Encoding: gzip'."; ?>
</body> </html>
<?php $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); ?>
|
Есче такой скрипт нашел:
| Код | <?php // gzip.php v1.2 - read http://rm.pp.ru/?1.phpgzip // released on 2004-05-06, by Roman Mamedov<roman at rm.pp.ru> // license: do with this code whatever you want.
///// Configuration ////////////////// $PREFER_DEFLATE = false; // prefer deflate over gzip when both are supported $FORCE_COMPRESSION = false; // force compression even when client does not report support //////////////////////////////////////
function compress_output_gzip($output) { return gzencode($output); }
function compress_output_deflate($output) { return gzdeflate($output, 9); }
if(isset($_SERVER['HTTP_ACCEPT_ENCODING'])) $AE = $_SERVER['HTTP_ACCEPT_ENCODING']; else $AE = $_SERVER['HTTP_TE'];
$support_gzip = (strpos($AE, 'gzip') !== FALSE) || $FORCE_COMPRESSION; $support_deflate = (strpos($AE, 'deflate') !== FALSE) || $FORCE_COMPRESSION;
if($support_gzip && $support_deflate) { $support_deflate = $PREFER_DEFLATE; }
if ($support_deflate) { header("Content-Encoding: deflate"); ob_start("compress_output_deflate"); } else{ if($support_gzip){ header("Content-Encoding: gzip"); ob_start("compress_output_gzip"); } else { ob_start(); } } // Дальше вывод ?>
|
И есче около 5и вариантов. Пробовал добавить ob_flush и есче какие то. Браузеры говорят что могут работать с gzip-пом. Тыщю раз переделывал, че только ни менял но ни хочет работать. А вот если через zlib.output_compression - то все работатет.
|