Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
ob_gzhandler
(PHP 4 >= 4.0.4, PHP 5)
ob_gzhandler - ob_start callback-функция для буфера вывода gzip.
Описание
string ob_gzhandler (string buffer [, int mode])
Примечание: mode был введён в PHP 4.0.5.
ob_gzhandler() предназначена для использования в качестве callback-функции для ob_start(), чтобы облегчить отправку gz-кодированных данных web-браузерам, поддерживающим сжатие web-страниц. Прежде чем ob_gzhandler() отправит сжатые данные, она определяет, какой тип кодирования содержимого принимает браузер ("gzip", "deflate" или вообще никакое), и возвратит его содержимое соответствующим образом. Поддерживаются все браузеры, отправляющие корректную шапку/header о том, что они принимают сжатые web-страницы.
Второй параметр этой функции - это флаг, который разрешает или запрещает отправку заголовка и окончания сжатого потока. Так как вызовов ob_start с ob_gzhandler у вас может быть несколько, а заголовок должен быть только один.
Пример 1. ob_gzhandler()
ob_start("ob_gzhandler");
?>
<html>
<body>
<p>This should be a compressed page.
</html>
<body>
Замечание: для использования ob_gzhandler() требуется zlib библиотека.
Замечание: You cannot use both ob_gzhandler() and zlib.output_compression. Also note that using zlib.output_compression is preferred over ob_gzhandler().
Пример 2. Проверка поддерживает ли браузер буферизацию?
if (substr_count($_SERVER['HTTP_ACCEPT_ENCODING'], 'gzip')) ob_start("ob_gzhandler"); else ob_start();
Пример 3. Указание в заголовке размера
ob_start('ob_gzhandler'); ?> .... your css content ... <?php header("Content-Type: text/css"); header("Content-Length: ".ob_get_length()); ob_end_flush();
Смотрите также: ob_start() и ob_end_flush().
Все функции буферизация
Описание на ru2.php.net
Описание на php.ru