Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#36 used as offset, casting to integer (36) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#37 used as offset, casting to integer (37) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Как поставить gzip сжатие на html страницы?
ТвойWeb » WebMaster класс » PHP/Perl » Как поставить gzip сжатие на html страницы?

Страниц (5): [1] 2 3 4 5 »
 

1. Alone - 20 Июня, 2005 - 10:28:25 - перейти к сообщению
Как поставить gzip сжатие на html страницы?
На хосте всё что нужно есть.
Возможно ли это сделать? Если можно то - как?
2. Barsuk - 20 Июня, 2005 - 18:38:06 - перейти к сообщению
Смысл?
Да собсьнно, поставить .gzip можно, но (ИМХО) для HTML (Они не превышают обычно 100 - 150 К, и распределяются админом сайта на нужное количество страниц.) настолько ли это важно и необходимо?...
3. TvoyWeb - 20 Июня, 2005 - 22:41:34 - перейти к сообщению
Barsuk
Что то я не совсем понял тебя. Почему бы не отдавать страницы в сжатом виде? В некоторых случаях страницы сжимаются где то на 65%.
4. Alone - 21 Июня, 2005 - 01:48:06 - перейти к сообщению
TvoyWeb
А можно сделать так?

Создать файл gzip.php:

CODE:
<?
$mtime = microtime();
$mtime = explode(' ',$mtime);
$totaltime = round($mtime[1] + $mtime[0] - $exbb['starttime'],4);

if($exbb['do_gzip_compress']) {

$gzip_contents = ob_get_contents();
ob_end_clean();
$gzip_contents .= '<center><tr class="moder"><td align="center"><font color=#990000 size=1>[ Script Execution time: '.$totaltime.' ] &nbsp; [ Gzipped ]</font></td></tr></center>';
$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);
}
else {
echo '<center><tr><td align="center"><font color=#990000 size=1>Время срабатывания: '.$totaltime.' сек</font></td></tr></center>';
ob_end_flush();
}
unset($exbb,$vars,$gzip_contents,$lang);
exit;
?>


А в Html-страницу (не в php!) вставить это:

CODE:
<?php include("gzip.php"); ?>



Будет работать?
5. TvoyWeb - 22 Июня, 2005 - 05:01:01 - перейти к сообщению
Цитата:
А можно сделать так?

Нет, так не получится. Вот посмотри чистый код Gzip сжатия:
CODE:

======================================
function ob_saveCookieAfter($s)
{
setcookie("page_size_after", strlen($s),time()+10);
return $s;
}
function ob_saveCookieBefore($s)
{
setcookie("page_size_before", strlen($s),time()+10);
return $s;
}
ob_start("ob_saveCookieAfter");
ob_start("ob_gzhandler",9);
ob_start("ob_saveCookieBefore");
======================================
// Начинаем вывод контента
echo 'Здесь выводим содержимое страницы';
//Конец вывода контента
======================================
ob_end_flush();
exit();

Видишь я специально разделил код на три части. Вот контент выводимый на странице должен быть в средней части. Плюс если нет спец. настроек то пхп в HTML страницах не будет обрабатываться.
6. Alone - 24 Июня, 2005 - 02:02:06 - перейти к сообщению
TvoyWeb

Я вот так сделал файл PHP. Сжимает, просто супер!

CODE:
<?

function ob_saveCookieAfter($s)
{
setcookie("page_size_after", strlen($s),time()+10);
return $s;
}
function ob_saveCookieBefore($s)
{
setcookie("page_size_before", strlen($s),time()+10);
return $s;
}
ob_start("ob_saveCookieAfter");
ob_start("ob_gzhandler",9);
ob_start("ob_saveCookieBefore");


echo '<html>
<head>
<title>Сайт</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<meta name="description" content=".....и многое др.">
<meta name="Keywords" content="слова">
<meta http-equiv="Keywords" content="слова">
<meta name="Robots" content="index,follow">
<style type="text/css">
<!--
body,td,th.........
-->
</style>
<body>
бла бла <BR>
бла бла<BR>
бла бла<BR>..........
</p>

</body>
</html>';
ob_end_flush();
exit;
?>


А файл HTML не сжимает.
Файл HTML можно сделать, чтобы сжимал?
7. TvoyWeb - 24 Июня, 2005 - 02:17:20 - перейти к сообщению
Alone пишет:
Файл HTML можно сделать, чтобы сжимал?

Я тут подумал и думаю что нельзя. Можно в пхп скрипт в переменную получать содержимое HTML файла и потом "echo" или "print'ом" выводить это содержимое.
8. Alone - 24 Июня, 2005 - 02:44:08 - перейти к сообщению
TvoyWeb
TvoyWeb пишет:
Можно в пхп скрипт в переменную получать содержимое HTML файла и потом "echo" или "print'ом" выводить это содержимое.

Если не сложно - можно на примере. Чёт ничего не понял Улыбка
9. TvoyWeb - 24 Июня, 2005 - 14:36:14 - перейти к сообщению
Alone
Ну например там где нужно выводить содержимое страницы пишешь:
CODE:
$file = file_get_contents("index.html");
echo $file;

index.html это страница которую нужно выводить. А вообще проще перевести все на PHP и не мучаться.
10. Alone - 25 Июня, 2005 - 02:52:17 - перейти к сообщению
TvoyWeb пишет:
А вообще проще перевести все на PHP и не мучаться.

Да просто ссылки с .html уже разбросаны по инету...
И есть некоторое колличество больших страниц на 300-400Kb. Вот их не плохо бы так сжать...

TvoyWeb пишет:
index.html это страница которую нужно выводить.

Так я не понял обращение в этом случае будет к файлу .html или .php ???

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.031]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33