Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Extensions > jsHttpRequest + zlib


Автор: ArsNov 20.6.2008, 14:42
Как застаить работать вместе zlib и jshttprequest ?
Нужно чтобы весь трафик который идет через jshttprequest сжимался

Автор: Viroman 10.11.2008, 16:27
А там без разницы, как запрашиваешь, через аякс или напрямую, сделал у себя так..

Вот это вставляется практически в начало страницы, до того, как у тебя вывод самой страницы начинается.
Код

$userenc=(isset($_SERVER["HTTP_ACCEPT_ENCODING"])) ? $_SERVER["HTTP_ACCEPT_ENCODING"] : $HTTP_SERVER_VARS['HTTP_ACCEPT_ENCODING'];
if(strstr($userenc,'gzip') && extension_loaded('zlib')) { ob_start(); ob_implicit_flush(0); header('Content-Encoding: gzip'); $do_gzip_compress=true; } else { $do_gzip_compress=false; }


А вот это в самый конец суётся
Код

if($do_gzip_compress) { $gzip_size=ob_get_length(); $gzip_contents=ob_get_clean();
$gzip_contents="\x1f\x8b\x08\x00\x00\x00\x00\x00".substr(gzcompress($gzip_contents, 6), 0, - 4).pack('V', crc32($gzip_contents)).pack('V', $gzip_size); echo $gzip_contents; exit; }

И всё, выдаётся на все сто ужатая страница, по крайней мере у меня, а то что то у меня через оb_start("gz_handler") напрямую не хотело ужимать никак...
Я через аякс менюху подгружаю и всё отлично, а перепроверять, ужатой страница доходит или нет, то просто header('Content-Encoding: gzip'); временно выкомментировываю //header('Content-Encoding: gzip'); и вижу в диве, куда грузится, лишь сжатую билеберду..

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)