#1 2011.01.20 23:47

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

gzip сжатие

никогда не работал с этой возможностью самостоятельно, вот почитал пару манов, и сообразил такой велосипед!

Код:

1
span style="color: #0000BB"><?php$str = ob_get_contents();ob_end_clean(); $httpEncoding = $_SERVER['HTTP_ACCEPT_ENCODING']; if ((stripos($httpEncoding, 'gzip') !== false) or (stripos($httpEncoding, 'deflate') !== false)) { $sizeGzip = strlen(gzencode($str, 1, FORCE_GZIP)); $sizePage = strlen($str); $issetGzip = true; } else { $issetGzip = false;}$str = strtr($str, array( '<!--Page-->' => (round($sizePage / 1024,1).'kb'), '<!--GzipSize-->' => ($issetGzip ? round($sizeGzip / 1024,1).'kb' : 'none'), '<!--GzipPerc-->' => ($issetGzip ? round(($sizeGzip / $sizePage * 100)).'%' : '0%'), '<!--Gener-->' => (round(microtime(true) - MT, 4))));if ($issetGzip) { $str = gzencode($str, 1, FORCE_GZIP); header('Content-Encoding: gzip');}echo $str;?>

Достаточно ли этого?


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#2 2011.01.21 02:27

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: gzip сжатие

Кстати сам щас пишу сайтик с нуля вот тоже мысль при ходила об gzip
Но еще не занимался сжатием.
Да еще одно вот ob_start("ob_gzhandler");
Когдато глаз заметил но еще не перечитывал мануал.
Поидее убирает все заморочки с сжатием.
Ну низнаю надо будет почитать

Неактивен

#3 2011.01.21 02:44

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: gzip сжатие

я тоже думал о ob_start("ob_gzhandler") но не все сервера его держут


Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#4 2011.01.21 11:11

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: gzip сжатие

неее, не пишите таких костылей. пользуйтесь сжатием на уровне сервера.
как пример, такой же костыль gzip.php, а вот пример после просветления Gzip2.php

Неактивен

#5 2011.01.21 18:41

Nu3oN
Moderator
Откуда: БелгородЭ
Зарегистрирован: 2010.04.28
Сообщений: 805
Карма: 11
Профиль Веб-сайт

Re: gzip сжатие

ну да... этот вариант мне больше нравится! и не пришлось реплейсить статистику

Код:

1
span style="color: #0000BB"><?php public static function endGzip() { switch (zlib_get_coding_type()) { default: $arrData['inPage'] = $arrData['outGzip'] = round(ob_get_length() / 1024, 2); $arrData['comGzip'] = 0; break; case 'gzip': $level = ini_get('zlib.output_compression_level'); $arrData['inPage'] = round(ob_get_length() / 1024, 2); $arrData['outGzip'] = round(strlen(gzencode(ob_get_contents(), $level, FORCE_GZIP)) / 1024, 2); $arrData['comGzip'] = round(100 - (100 / ($arrData['inPage'] / $arrData['outGzip'])), 1); break; case 'deflate': $level = ini_get('zlib.output_compression_level'); $arrData['inPage'] = round(ob_get_length() / 1024, 2); $arrData['outGzip'] = round(strlen(gzencode(ob_get_contents(), $level, FORCE_DEFLATE)) / 1024, 2); $arrData['comGzip'] = round(100 - (100 / ($arrData['inPage'] / $arrData['outGzip'])), 1); break; } $arrData['totQuery'] = DB :: $_sql -> countQuery; $arrData['timQuery'] = round(DB :: $_sql -> timeQuery, 4); $arrData['genPage'] = round(microtime(true) - MT, 4); Template :: assign('foot', $arrData); Template :: display('theme/footer'); }?>

Я буду лучше голоден, но между креслом и рулем и на дороге.

Неактивен

#6 2011.01.22 00:34

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: gzip сжатие

А я решил через htaccess
Да кстати отключять надо нам где скрипт отдает файлы ато чет поддержка докачки не работает.

Кстати как отключить в самом файле php?

Отредактировано TLENS (2011.01.22 00:37)

Неактивен

#7 2011.01.22 09:49

Gemorroj
Administrator
Откуда: Белоруссия
Зарегистрирован: 2007.11.03
Сообщений: 6594
Карма: 107
Профиль Веб-сайт

Re: gzip сжатие

ini_set('zlib.output_compression', 0);

Неактивен

#8 2011.01.22 11:38

TLENS
Moderator
Откуда: Украина
Зарегистрирован: 2009.04.05
Сообщений: 2402
Карма: 14
Профиль

Re: gzip сжатие

О спасибо

Неактивен

Дополнительно

forum.wapinet.ru

PunBB Mod v0.6.2
0.014 s