Руководство по РНР 3.0 - Функции, связанные с HTTP
- Содержание
-
header
-
setcookie
Эти функции позволяют вам управлять ывводом на удаленный браузер на уровне протокола HTTP.
header
header -- послать необработанный заголовок HTTP
Описание
int header
(string string);
Функция Header() используется в начале HTML-файла для отправки строки HTTP заголовка. Смотри
HTTP 1.1 Specification для более подробной информации о заголовках HTTP.
Замечание: Помните, что функция
Header() должна быть вызвана перед любыми другими операциями вывода, описанными стандартными тэгами HTML или PHP. Наиболее общие ошибки в коде - применение
include() с auto_prepend и пробелами или пустыми строками, которые инициируеют вывод до вызова header().
Header("Location: http://www.php.net"); /* Редирект браузера на сайт PHP */
exit; /* Код, следующий ниже, не будет исполняться после редиректа. */
PHP-скрипты часто генерируют динамический HTML, который не следует кешировать на клиентском браузере или прокси-сервере. Многие прокси и клиенты можно заставить отключить кеш:
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); // Прошедшая дата
header("Last-Modified: " . gmdate("D, d M Y H:i:s") . "GMT"); // всегда модифицировать
header("Cache-Control: no-cache, must-revalidate"); // HTTP/1.1
header("Pragma: no-cache"); // HTTP/1.0
setcookie
setcookie -- послать кук
Описание
int setcookie
(string name, string value, int expire, string path, string domain, int secure);
SetCookie() определяет кук, который будет послан вместе с остальной информацией из заголовка. Все аргументы, исключая name опциональны. Если присутствует только аргумент name, кук с указанным именем будет удален с клиента. Вы также можете представить любой из аргументов пустой строкой, с целью пропуска оного (""). Параметры expire и secure являются целочисленными и ен могут быть заменены пустыми строками. Для этой цели используют (0). Аргумент expire - это стандартное время Unix, возвращаемое функциями
time() или
mktime(). secure показывает, что кук следует передавать только по защищенному соединению HTTPS. Некоторые примеры:
Пример 1. SetCookie
SetCookie("TestCookie","Test Value");
SetCookie("TestCookie",$value,time()+3600); /* истекает через час */
SetCookie("TestCookie",$value,time()+3600,"/~rasmus/",".utoronto.ca",1);
|
Заметим, что значимые части кука при посылке будут автоматически урл-кодированы, тогда как при приеме кука - автоматически декодированы и присвоены переменным с соответствующими именами. Для просмотра содержания тестового кука в скрипте, просто:
echo $TestCookie;
Для получения более подробной информации о куках, смотрите спецификацию Netscape по
http://www.netscape.com/newsref/std/cookie_spec.htm.
Microsoft Internet Explorer 4 с Service Pack 1 могут некорректно работать с куками, где установлен параметр path.
Содержание