Необязательный параметр replace показывает, должен ли заголовок замещать предыдущий сходный заголовок, или добавлять второй заголовок того же типа. По умолчанию происходит замещение, но если в качестве второго параметра передаётся FALSE будет добавляться ещё один заголовок. Например:
Пример кода
<?php
header('WWW-Authenticate: Negotiate');
header('WWW-Authenticate: NTLM', false);
?>
Второй необязательный параметр http_response_code передаёт функции код HTTP-отклика.
Существует два способа вызова заголовка. Первый заключается в размещении в начале строки, заголовка строки вида "HTTP/"(регистр не имеет значения). Строка будет использована для вычисления кода статуса HTTP-запроса. Например, если вы настроили Apache игнорировать запросы PHP-скриптов на получение файлов (используя директиву ErrorDocument), вы можете захотеть убедится в том, что скрипт генерирует соответствующий код состояния:
Пример кода
<?php
header("HTTP/1.0 404 Not Found");
?>
Второй способ, заключается в передаче в начале запроса строки "Location:". Этот способ позволяет осуществить переход на другой адрес, возвращая соответствующий код состояния.
Пример кода
<?php
header("Location: http://www.example.com/"); /* Редирект браузера */
/* Убедитесь, что код приведённый ниже не исполняется во время нашего перехода */
exit;
?>
Пример кода
<?php
// Date in the past
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
// always modified
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");
// HTTP/1.1
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0", false);
// HTTP/1.0
header("Pragma: no-cache");
?>
Пример кода
<?php
/* This will give an error. Note the output
* above, which is before the header() call */
header('Location: http://www.example.com/');
?>
Пример кода
<?php
// We'll be outputting a PDF
header('Content-type: application/pdf');
// It will be called downloaded.pdf
header('Content-Disposition: attachment; filename="downloaded.pdf"');
// The PDF source is in original.pdf
readfile('original.pdf');
?>