Приложения PHP : Переменные окружения в PHP

Материал из Справочник Web-языков.

Перейти к: навигация, поиск
Главная  ::. PHP  ::. Приложения PHP  ::. Переменные окружения

Содержание

[править] Переменные окружения в PHP

Непосредственно перед запуском сценария сервер передает ему некие переменные окружения с информацией. В определенных переменных содержаться некоторые заголовки, но не все (получить все заголовки нельзя). Далее я приведу список наиболее важных переменных окружения.

[править] HTTP_ACCEPT

- В этой переменной перечислены все MIME-типы данных, которые могут быть восприняты браузером. Строка */* означает, что браузер понимает любой тип.


HTTP_ACCEPT= image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-excel, application/msword, */*

[править] HTTP_REFERER

- Эта переменная представляет сведения о странице, с которой пользователь попал на данную. Эту переменную можно использовать, например, для отслеживания перемещения пользователя по вашему сайту, а затем просматривать наиболее популярные маршруты.

HTTP_REFERER= http://www.spravkaweb.ru/php/pril/

[править] HTTP_COOKIE

- В этой переменной хранятся все Cookies в URL-кодировке.

HTTP_COOKIE= hotlog=1; ZDEDebuggerPresent=php,phtml,php3; b=b; PHPSESSID=16805922a9258cda274316e60f649cf8

[править] HTTP_USER_AGENT

- Идентифицирует браузер пользователя. Для установления типа браузера нужно проверить эту строку на наличие слов: если браузер - Internet Explorer, то будет присутствовать подстрока MSIE, а если в наличии лишь слово Mozilla, то это Netscape.

Например:

HTTP_USER_AGENT= Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; MyIE2; Maxthon)

[править] HTTP_HOST

- Содержит доменное имя Web-сервера, на котором запустился сценарий. Эту переменную достаточно удобно использовать, например, для генерации полного пути, который требуется в заголовке Location, чтобы не привязываться к конкретному серверу.

HTTP_HOST= www.spravkaweb.ru

[править] HTTP_FROM

- Адрес электронной почты пользователя, направившего запрос.

[править] SERVER_NAME

- Доменное имя или IP-адрес сервера.

SERVER_NAME= www.spravkaweb.ru

[править] SERVER_SOFTWARE

- Имя и версия программы-сервера, отвечающей на запрос клиента.

[править] SERVER_PORT

- Эта переменная содержит порт сервера, к которому обратился браузер пользователя. Обычно это 80. Переменная так-же может применяться для формирования параметра заголовка Location.

SERVER_PORT= 80

[править] SERVER_PROTOCOL

- Переменная содержит имя и версию информационного протокола, который был использован для запроса.

SERVER_PROTOCOL= HTTP/1.1

[править] REMOTE_ADDR

- Эта переменная содержит IP-адрес (или доменное имя) узла пользователя, на котором был запущен браузер.

[править] REMOTE_PORT

- Порт, который закрепляется за браузером пользователя для получения ответа сервера.

[править] REMOTE_USER

- Идентификационное имя пользователя, посылающего запрос.

[править] SCRIPT_NAME

- Содержит имя файла, содержащего данный сценарий. Эту переменную удобно использовать при формировании заголовка Location при переадресации на себя (self-redirect), а также для подставления значения атрибута action тега <form> на странице, которую вызывает сценарий при запуске без параметров (для того чтобы не привязываться к конкретному имени сценария).

[править] DOCUMENT_ROOT

- Корневой каталог дерева Web-документов.

[править] REQUEST_METHOD

- Метод, который применяет пользователь при передаче данных. Надо заметить, что грамотно составленный сценарий должен сам определять на основе этой переменной, какой метод задействует пользователь, и принимать данные из соответствующего источника, а не расчитывать, что передача будет осуществляться, например, только методом POST.

[править] QUERY_STRING

- Содержит параметры, которые в URL указаны после вопросительного знака. Напомним, что они доступны как при методе GET, так и при методе POST (если в последнем случае они были определены в атрибуте action тега <form>).

[править] PATH_INFO

- Содержит дополнительную информацию о пути.

[править] PATH_TRANSLATED

- Та же информация, что и в переменной PATH_INFO с префиксом, задающим путь к корневому каталогу дерева Web-документов.

[править] CONTENT_TYPE

- Медиа-тип данных запроса.

[править] CONTENT_LENGTH

- Возвращает количество байт данных, присланных пользователем. Эту переменную необходимо анализировать, если вы занимаетесь приемом и обработкой POST-формы.

[править] GATEWAY_INTERFACE

- Версия CGI, которую использует сервер.

[править] Пример использования переменных окружения

Далее я приведу пример использования некоторых переменных:

<html>
<head><title>Переменные окружения</title><head>
<body>
<h1>Переменные окружения:</h1>
<hr>
<?
echo "Вы пришли из: ".getenv("HTTP_REFERER")."<BR>";
$br=getenv("HTTP_USER_AGENT");
if(strpos($br,"MSIE")!==false) echo "У вас Internet Explorer<BR>";
else echo "У вас Netscape или др.<BR>";
echo "Ваш IP: ".getenv("REMOTE_ADDR")."<BR>";
echo "Вот параметры в строке браузера: ".getenv("QUERY_STRING");
?>
</body>
</html>
Личные инструменты
1.5759499073