Почему ob_clean() очищает буфер при вызове ob_start() и не срабатывает при вызове ob_start("ob_gzhandler",9)?
Хорошо, как очистить буфер после вызова этой ф-ции? Т.е. нужно чтобы срабола вот этот код, ничего не выдавая в браузер перекинуть на другую страницу: Код (Text): <? ob_start("ob_gzhandler",9); ?> text text text text text <? ob_clean(); Header("Location: i.php"); ob_flush(); exit(); ?> text1 text1 text1 text1 text1
Мб так PHP: <? ob_start('ob_gzhandler', 9); ob_start(); print 'hello, world!'; ob_clean(); print 'привет, мир!';
Отлично, в мой код надо было всего-то вставить одну доп.строку: Код (Text): <? ob_start("ob_gzhandler",9); ob_start(); ?> text text text text text <? ob_clean(); Header("Location: i.php"); ob_flush(); exit(); ?> text1 text1 text1 text1 text1 но тут возникает вопрос: ob_clean(); и далее до exit(); вызывается не всегда - это содержимое моей ф-ции redirect($url) так вот, а если не будет вызова этоой ф-ции и очистки буфера при этом в браузер выдается именно сжатый контент или обычный?
Большое спасибо, заработало. Теперь вот вылезли проблемы. В заголовке страницы, т.е. стили генерятся на php - не подключаются ... <link rel="Stylesheet" href="../inc/style.php?r=<?=rnd()?>" type="text/css"> Точнее они срабатывают только после Ctrl+F5 Даже если все страницы с рандомным ключем и адрес у стиля тоже с рандомом ... То ж самое и при подключения js.php Сейчас просто обрабатываю, если это стилевой файл или скрипт, то обычный ob_start без сжатия. Ну и в IE6 просмотр исходного кода доступен тоже только после рефреша страницы. Что это? - настолько жесткое кеширование браузером? Еще вопрос: при обычной передаче браузер выводит содержимое по мере поступления, а при сжатии - пока весь пакет не получит ничего не выводит? Ускорения загрузки субъективно не выявил ...