Мастерская iPloGic
+7 (926) 961-66-26

 — База знаний — Суперглобальный массив $_SERVER

Суперглобальный массив $_SERVER

Суперглобальный массив $_SESSION представляет собой крайне полезный инструмент для php программиста. В этом массиве хранится служебная информация о параметрах сервера и клиентского приложения. Без этого массива невозможно себе представить ни одно статистическое приложение, а также приложения, предназначенные для работы на разных серверах.

Ниже приведены основные переменные суперглобального массива $_SESSION. Для просмотра полного содержимого массива вашего сервера создайте php файл, в который впишите команду

<?
print_r($_SERVER);
?>

Итак пробежимся по переменным. Для примера возьмем адрес сайта http://mysite.ru/index.php?param=1&amp;act=2.


$_SERVER['HTTP_HOST'] и $_SERVER['SERVER_NAME']

Имя сервера. На деле обе переменные содержат доменное имя сайта без указания протокола (без http://).

Пример: mysite.ru или www.mysite.ru


$_SERVER['PHP_SELF'] и $_SERVER['SCRIPT_NAME']

Содержат имя исполняемого скрипта, начиная от корневой директории виртуального хоста.

Например: /index.php или /folder/script.php, если скрипт находится во вложенной папке


$_SERVER['DOCUMENT_ROOT']

Содержит серверный путь к корневому каталогу сайта, то есть к индексному файлу.

Например: C:\mysite\public_html для windows или /www/mysite/public_html для unix


$_SERVER['SCRIPT_FILENAME']

Содержит абсолютный путь к исполняемому в данный момент файлу

Например: C:\mysite\public_html/index.php для windows или /www/mysite/public_html/index.php для unix


$_SERVER['REQUEST_URI']

Содержит имя скрипта, начиная с корневой дмректории сайта, включая GET запрос

Например: /index.php?param=1&act=2 или /folder/script.php?param=1&act=2, если скрипт находится во вложенной папке


$_SERVER['QUERY_STRING']

Содержит параметры GET запроса без знака вопроса.

Например: param=1&act=2


$_SERVER['REQUEST_METHOD']

Содержит метод запроса, который применяется для вызова скрипта.

GET или POST


$_SERVER['HTTP_REFERER']

Содержит адрес страницы, с которой пришёл посетитель.

Например: http://yandex.ru/yandsearch


$_SERVER['HTTP_USER_AGENT']

Содержит информацию о браузере и операционной системе пользователя. С помощью этого параметра также можно определять типы мобильных устройств и поисковые роботы.

Пример: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) - IE 6 и Windows XP


$_SERVER['REMOTE_ADDR']

Содержит IP-адрес клиента.

Пример: 60.169.97.9 или 127.0.0.1


$_SERVER['HTTP_ACCEPT']

Этот и следующие подобные параметры берутся из заголовков, посылаемых серверу клиентом (HTTP-заголовок Accept). Параметр $_SERVER['HTTP_ACCEPT'] определяет предпочтения клиента относительно типа документа.

Формат вывода: MIME-тип [[; q], другой MIME-тип [; q] ... ]

Предпочитаемых MIME-типов может быть несколько, тогда они перечисляются через запятую. * используется для задания шаблона, группировки. q – коэффициент предпочтения, по умолчанию 1, изменяется от 0 до 1.

Пример: image/jpeg, image/x-xbitmap, application/x-shockwave-flash или image/*; q=0.5, image/jpeg (предпочитает жпег всем остальным форматам)


$_SERVER['HTTP_ACCEPT_LANGUAGE']

Определяе языковые предпочтения клиента

Пример: ru, en; q=0.7


$_SERVER['HTTP_ACCEPT_CHARSET']

Определяет предпочтения по кодировке страниц.

Пример: utf-8


$_SERVER['HTTP_ACCEPT_ENCODING']

Определяет предпочтения по шифрованию страниц.

Пример: gzip, *;q=0


$_SERVER['SERVER_PORT']

Содержит прослушиваемый порт сервера.

Пример: 80


$_SERVER['SERVER_SOFTWARE']

Содержит информацию о веб-сервере.

Пример: Apache/2.2.4 (Win32)


$_SERVER['SERVER_PROTOCOL']

Содержит версию HTTP-протокола.

Пример: HTTP/1.1


$_SERVER['GATEWAY_INTERFACE']

Содержит версию CGI, используемую веб-сервером.

Пример: CGI/1.1


$_SERVER['REQUEST_TIME']

Время начала запроса веб-страницы в UNIX-формате. Доступна, начиная с PHP 5.1.0

Пример: 1277291674

06.12.2011