Ученик (85)

Возможно ли выслать заголовки ПОСЛЕ того, как отправлен первый байт содержимого?

Имеются в виду HTTP-заголовки, посылаемые командою header() в PHP. Можно ли отправить их после того, как браузеру отправлен первый байт содержимого? Спасибо.
Думаю, что это хостинг кривой просто, на нормальном хостинге было бы ОК...
Дополнен 5 лет назад
Регистрируйтесь, делитесь ссылками в соцсетях, получайте на WMR кошелек 20% с каждого денежного зачисления пользователей, пришедших на проект по Вашей ссылке. Подробнее
ЛУЧШИЙ ОТВЕТ
__
Советник (3696)
Вообще, это большой моветон - отправлять заголовки после первого байта содержимого. Но если у Вас пишет что-то вроде Cannot modify header information – headers already sent by ..., и при этом Вы не имеете возможности найти все команды header() и поставить их ДО вывода содержимого, есть такая настройка в PHP.INI:


output_buffering 4096


Измените значение на большее. Если Вы на shared-хостинге, где прямой доступ к глобальным настройкам запрещен, пропишите в .htaccess:


php_value output_buffering 4096


В любом случае, такой подход может сильно затормозить выполнение скриптов. Гораздо лучше высылать все заголовки до содержимого.

И это не прихоть хостинга. Это требование протокола HTTP. Он так устроен - сначала заголовки, потом остальное ))