В настоящее время я переписываю интерфейс для сайта с целью использования рендеринга контента в стиле Facebook как в Facebook (удаление зон за зонами с заданным приоритетом)
Я сделал это, все в порядке, но, к сожалению, из-за очистки зоны за другой и нового порядка рендеринга, я отображаю эхо-контент и заголовки, вызванные в середине скрипта, не отправляются.
Итак, чтобы сделать это в качестве конкретного примера: как я могу отправить заголовки после того, как я удалил некоторый контент? Простой код:
echo $layout;
ob_flush();
header("Location: http://www.google.com");
К сожалению, я не могу использовать такие вещи, как
if(headers_sent()) {
// use javascript redirect
}
потому что иногда есть заголовки без перенаправления, и на сайте есть как 1000 перенаправлений (да, это большой).
Можно ли как-то отправить заголовки после очистки? Или как-то запустить буфер, очистить его, очистить его, а затем отправить заголовки -> Это было бы лучшим решением.
Или, может быть, кто-то может указать мне правильное направление, это очень раздражает.
Вы должны отправить заголовки перед отправкой любого контента в браузер, чтобы вы не могли сделать это, как в первом примере.
Кроме того, проверить headers_sent()
страница справочника. Он не говорит «какой-то заголовок был отправлен», он говорит «все заголовки были отправлены, и вы больше не можете отправлять». С помощью этой функции вы можете проверить, если вы можете сделать Location
перенаправить или если вам нужно сделать это с помощью JavaScript.
Других решений пока нет …