Буферизация вывода или джаваскрипт?.Header

Печать RSS
194

Автор
Голубые штаны
0
Всем привет. Сейчас столкнулся с проблемкой. Изначально неправильно сложил структура скрипта, и теперь внутри его, где мне нужно использовать редирект через header('location:'); он не работает, т.к. заголовок у меня отправлен выше (в шапке).
Есть 2 варианта решения:
1. использовать редирект джаваскриптом (сайт веб)
но тут минус:
у юзера может быть выключен джаваскрипт (хотя в наши времена таких будет очень мало)
придется еще где-то делать проверку на вкл. или выкл js
2. Использовать буферизацию вывода через ob_start();
с этим я раньше не работал, не знаю подводных камней.
Что посоветуете?
upd: потестил буферизацию, с ней работает все отлично.
Не предлагать изменить структуру кода
Изменил: Игорь (10.04.2012 / 14:24)

2000 лет д.н.э.
0
Буферизация, в принципе ни каких камней нетsmile
Автор
Голубые штаны
0
2. ramzes, спасибо проверил. Вроде все отлично. наверное так и будет

2000 лет д.н.э.
0
Только если файлы скриптом отдаешь, то эту страницу не буферизуй, и нагрузку (возможно) даст, и файл не всякий арбуз распознает. Проверено на собственном скрипте и андроиде
Автор
Голубые штаны
0
4. ramzes, да нет, там нечего такого не будет в планах. интернет-магазин автозапчастей пишу.
А

Чатланин
0
Если буферизация вывода активна, вывод скрипта не высылается (кроме заголовков), а сохраняется во внутреннем буфере.

Соотвественно пока страница не будет готова пользователю она показа не будет.

Для вывода содержимого внутреннего буфера следует использовать ob_end_flush()
К

Айсберг Визави
0
буферизация, конечно же. плюс можно еще вцепить сжатие перед выводом, что сэкономит траф
С

Землянин
0
о какой экономии трафа ты говоришь? + за буферизацию

2000 лет д.н.э.
0
Доктор_Айболит (17 Мая 2012 / 22:37)
о какой экономии трафа ты говоришь? + за буферизацию
Гзип, дефлейт и т.д.
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск