Среда, 17.06.2026, 10:14
Приветствую Вас Гость | RSS
Поиск по каталогу
Главная страница | Каталог статей | Регистрация | Вход

Информационные технологии
Форма входа
Меню сайта

Категории каталога
php [246]
perl [1]
perl
ASP [1]
AJAX [0]

Друзья сайта

Наш опрос
Оцените мой сайт
Всего ответов: 69

Начало » Статьи » Web программирование » php

Сжатие страниц на PHP
Основное назначение скрипта - сжатие страниц, передаваемых сервером браузеру. У меня в среднем сжималось в 4 раза.



Одно "НО": Не ставьте уровень сжатия больше 3 - размер не уменьшится, а нагрузка на сервер - еще как.



Скрипт используется следующим образом:



<?



include('gzdoc.php');



?>



<HTML>



... the page ...



</HTML>



<?



gzdocout();



?>


gzdoc.php







** |



** |... the page ...



** |



** |



** -------------End of file-----------



*/



ob_start();



ob_implicit_flush(0);



function CheckCanGzip(){



global $HTTP_ACCEPT_ENCODING;



if (headers_sent() || 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;



}



/* $level = compression level 0-9, 0=none, 9=max */



function GzDocOut($level=3, $debug=0){



$ENCODING = CheckCanGzip();



if ($ENCODING){



print "\n\n";



$Contents = ob_get_contents();



ob_end_clean();



if ($debug){



$s = "Not compress



length: ".strlen($Contents)."; ";



$s .= "Compressed length: ".



strlen(gzcompress($Contents, $level)).



"
";



$Contents .= $s;



}



header("Content-Encoding: $ENCODING");



print "\x1f\x8b\x08\x00\x00\x00\x00\x00";



$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;



}



}



?>
Категория: php | Добавил: freeone (10.05.2007)
Просмотров: 678 | Рейтинг: 0.0 |

Всего комментариев: 0
Имя *:
Email *:
Код *:

Copyright Информационные технологии © 2006