Буферизация вывода или джаваскрипт?.Header
1.
Игорь (10.04.2012 / 14:21)
Всем привет. Сейчас столкнулся с проблемкой. Изначально неправильно сложил структура скрипта, и теперь внутри его, где мне нужно использовать редирект через header('location:'); он не работает, т.к. заголовок у меня отправлен выше (в шапке).
Есть 2 варианта решения:
1. использовать редирект джаваскриптом (сайт веб)
но тут минус:
у юзера может быть выключен джаваскрипт (хотя в наши времена таких будет очень мало)
придется еще где-то делать проверку на вкл. или выкл js
2. Использовать буферизацию вывода через ob_start();
с этим я раньше не работал, не знаю подводных камней.
Что посоветуете?
upd: потестил буферизацию, с ней работает все отлично.
Не предлагать изменить структуру кода
2.
ramzes (10.04.2012 / 14:26)
Буферизация, в принципе ни каких камней нет
3.
Игорь (10.04.2012 / 14:37)
2.
ramzes, спасибо проверил. Вроде все отлично. наверное так и будет
4.
ramzes (10.04.2012 / 16:17)
Только если файлы скриптом отдаешь, то эту страницу не буферизуй, и нагрузку (возможно) даст, и файл не всякий арбуз распознает. Проверено на собственном скрипте и андроиде
5.
Игорь (10.04.2012 / 16:30)
4.
ramzes, да нет, там нечего такого не будет в планах. интернет-магазин автозапчастей пишу.
6.
Алексей (11.04.2012 / 07:15)
Если буферизация вывода активна, вывод скрипта не высылается (кроме заголовков), а сохраняется во внутреннем буфере.
Соотвественно пока страница не будет готова пользователю она показа не будет.
Для вывода содержимого внутреннего буфера следует использовать ob_end_flush()
7.
Кевин Митник (12.04.2012 / 15:25)
буферизация, конечно же. плюс можно еще вцепить сжатие перед выводом, что сэкономит траф
8.
Сергей (17.05.2012 / 22:37)
о какой экономии трафа ты говоришь? + за буферизацию
9.
ramzes (17.05.2012 / 23:41)
Доктор_Айболит (17 Мая 2012 / 22:37)
о какой экономии трафа ты говоришь? + за буферизацию
Гзип, дефлейт и т.д.
URL:
https://visavi.net/topics/31176