Переменные окружения

We use cookies. Read the Privacy and Cookie Policy

Переменные окружения

Переменные окружения в 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>