ob_gzhandler

Великая загадка функции PHP ob_gzhandler раскрыта. Я посмотрел исходный код PHP и вот что я увидел: второй параметр этой функции — это флаг, который разрешает или запрещает отправку заголовка и окончания сжатого потока. У файловых архивов, как правило есть заголовок и, иногда, некое информативное окончание (например, информация о контрольной сумме). Так как вызовов ob_start с ob_gzhandler у вас может быть несколько, а заголовок должен быть только один, этот параметр и предназначен для отсечения «лишних» данных.

Я могу ошибаться в деталях, поскольку лишь пробежался по исходникам, но общий смысл именно таков.

Поделиться
Отправить
2003   php
14 комментариев
Spectator

Ты гений, да.

Спасибо.

Евгений Степанищев (bolknote.ru)

Комментарий для Spectator:

Ты знал :)

AnToXa

Кстати, юуквально пару недель назад хозяйка привезла телек и вчера я его включил.

открыл новый мир.. и сразу закрыл.. нунахх

Евгений Степанищев (bolknote.ru)

Комментарий для AnToXa:

Как это связано с вышенаписанным?

AnToXa

сорри. промахнулся :)
это было к тому что 2/3 людей никак не общаются с газетами/tv

Евгений Степанищев (bolknote.ru)

Комментарий для AnToXa:

А… :))

Nikolskih

Каким образом можно узнать сколько весит после сжатия такая страница?

Евгений Степанищев (bolknote.ru)

Комментарий для Nikolskih:

http://dev.e-taller.net/gzhandler/miscGzHandler.phps

Nikolskih

Если не включить в настройках ИЕ 6.0 HTTP 1.1 over proxy то функция ( http://dev.e-taller.net/gzhandler/miscGzHandler.phps ) не срабатывает и контент отдается не сжатый… (проверялось из под ХР на 3 компьютерах)

Опера 7 и все нетскейпы хавают сжатый хтмл нормально

как пофиксить этот баг?

Евгений Степанищев (bolknote.ru)

Комментарий для Nikolskih:

Самое главное ты забыл сказать. ты через проски идёшь или нет?

Nikolskih

Да, через прокси (Squid)

Интересно как связаны между собой эта функция и тот факт через прокси я хожу или нет?

Если не ставить в опциях HTTP 1.1 over proxy то броузер всеравно нормально загружает страницы…

Непойму в чем прикол

Евгений Степанищев (bolknote.ru)

Комментарий для Nikolskih:

Ты посмотри проходит ли через твой прокси accept_encoding, если HTTP/1.1 не ставить.

Nikolskih

Блин!
не проходит!

А ставлю чекбокс — проходит

Спасибо!
Кажись допер :о)

Евгений Степанищев (bolknote.ru)

Комментарий для Nikolskih:

Ну вот видишь ;)

Популярное