@Quintis

Как работает буферизация в php?

Доброго времени суток. Кто может обьяснить почему после загрузки страницы и выполенния скрипта в котором есть функция header("Location:categories.php"); выбивает ошибку
Warning: Cannot modify header information - headers already sent by (output started at
без <?php ob_start();?>
  • Вопрос задан
  • 113 просмотров
Решения вопроса 1
Stalker_RED
@Stalker_RED
ob_start()
Эта функция включает буферизацию вывода. Если буферизация вывода активна, никакой вывод скрипта не отправляется (кроме заголовков), а сохраняется во внутреннем буфере.

Содержимое этого внутреннего буфера может быть скопировано в строковую переменную, используя ob_get_contents(). Для вывода содержимого внутреннего буфера следует использовать ob_end_flush(). В качестве альтернативы можно использовать ob_end_clean() для очистки содержимого буфера.


Если вы убираете ob_start, выводите какой-то текст или теги, а потом пытаетесь вывести заголовок - получаете ошибку, что заголовки уже отправлены. Они же заголовки, они должны в начале идти, ну!
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы