Переменные сервера

Массив $_SERVER введен, начиная с РНР 4.1.0. До этой версии использовался гло­бальный массив $HTTP_SERVER_VARS, которые внутри функций требует обяза­тельного объявления при помощи оператора global. Начиная с версии РНР 6.0, этот массив перестал поддерживаться.

'DOCUMENT_ROOT'

Корневой каталог web-сервера, предназначенный для хранения HTML-документов, в соответствии с его конфигурацией.

'GATEWAY_INTERFACE'

Версия спецификации CGI, которая поддерживается web-сер­вером, например 'CGI/1.1'.

'PATH_TRANSLATED'

Полное локальное имя файла текущего скрипта.

'PHP_AUTH_PW'

Если РНР используется вместе с web-сервером Apache в режиме модуля, переменная содержит пароль пользователя, вве­денный в окне аутентификации.

'PHP_AUTH_USER'

Если РНР используется вместе с web-сервером Apache в режиме модуля, переменная содержит имя пользователя, введен­ное в окне аутентификации.

'PHP_SELF'

Путь к текущему скрипту относительно корня.

'QUERY_STRING'

Строка запроса, переданная скрипту. Задается для метода передачи данных GET, имеет вид: namel=valuel&name2=value2...

'REMOTE ATTR'

IP-адрес удаленного пользователя, который запросил данный скрипт.

'REMOTE HOST'

Имя узла удаленного пользователя, который запросил данный скрипт.

'REMOTE_PORT'

Номер порта удаленного пользователя, который запросил данный скрипт.

'REQUEST_METHOD'

Метод передачи данных, при помощи которого был загружен данный скрипт — GET, HEAD, POST или PUT.

'REQUEST_URI'

'URI' текущего скрипта, например 'index.php'.

'SCRIPT_FILENAME'

Полное абсолютное локальное имя скрипта.

'SCRIPT_NAME'

Путь к текущему скрипту относительно корня.

'SERVER_ADMIN'

E-mail администратора web-сервера.

'SERVER_NAME'

Имя хоста web-сервера.

'SERVER_PORT'

Порт web-сервера (обычно 80).

Серверные переменные могут быть весьма полезны при разработке приложе­ний. Ниже приведен пример отображения имени текущего скрипта:

code: #php
<HTML>
<HEAD>
<TITLE>Идентификация скрипта</TITLE>
</HEAD>
<BODY>
<H1>Идентификация скрипта</H1>
<?php
  echo  "Текущий скрипт: ", $_SERVER['PHP_SELF'];
?>
</BODY>
</HTML>

В результате выполнения будет выведена строка наподобие:

Текущий скрипт: /php/06/phpidentifier.php

Кроме элементов, перечисленных в таблице выше, массив $_SERVER содержит также информацию из заголовка HTTP-запроса. HTTP-запрос посылается web-серверу клиентом, а его заголовок содержит полезную информацию о брау­зере. Например, $_SERVER['HTTP_USER_AGENT'] содержит информацию о версии браузера (определению типа браузера посвящен следующий раздел гла­вы). В таблице ниже перечислены те элементы массива $_SERVER, которые заполня­ются на основании заголовка HTTP-запроса. В зависимости от версии протокола и типа браузера те или иные поля в заголовке HTTP-запроса могут отсутство­вать.

Переменная

Поле заголовка

Описание

'HTTP_ACCEPT_LANGUAGE'

Accept-Language:

Обозначение языка, который может кор­ректно отображать браузер, например en (английский) или ru (русский).

'HTTP_CONNECTION'

Connection:

Поле управляет соединением с web-сервером, обычно содержит значение Keep-Alive.

'HTTP_HOST'

Host:

Имя хоста, к которому обращается браузер.

'HTTP_REFERER'

Referer:

Адрес страницы, с которой осуществляет­ся переход на запрошенную страницу. За­полняется браузером только в том случае, если переход осуществляется по гипер­ссылке (а не путем ввода адреса в соответ­ствующее поле браузера).

'HTTP_USER_AGENT'

User-Agent:

Строка, идентифицирующая браузер.

'НТТР_АССЕРТ'

Accept:

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

'НТТР_АССЕРТ_CHARSЕТ'

Accept-CharSet:

Перечисление кодировок, которые поддер­живает браузер.

'НТТР_АССЕРТ_ENCODING'

Accept-Encoding:

Способы сжатия информации, которые под­держивает браузер, например, gzip.

Книга: PHP в примерах. Купить книгу
Автор: Стивен Хольцнер. Переводчик: С. Банников
Поделиться:

Похожие статьи: