Перейти к основному содержимому

PHP $_SERVER

Когда вам нужны сведения о веб-сервере, например заголовки, пути или расположение скрипта, загляните в суперглобальную переменную $_SERVER.

Как и другие суперглобальные переменные, она встроена в язык, и её можно использовать из любой области видимости.

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

Вот некоторые из них в действии:

Использование элементов $_SERVER

Выведите несколько значений $_SERVER, одно за другим:

Prompt
Напишите PHP-скрипт, который выводит значения нескольких элементов $_SERVER: PHP_SELF, SERVER_NAME, HTTP_HOST, HTTP_REFERER, HTTP_USER_AGENT и SCRIPT_NAME.
Вывод: PHP-скрипт

Элементы $_SERVER

Вот элементы $_SERVER, которые, скорее всего, вам понадобятся:

  • $_SERVER['PHP_SELF'] - Имя файла выполняющегося сейчас скрипта
  • $_SERVER['GATEWAY_INTERFACE'] - Версия CGI (Common Gateway Interface), используемая на сервере
  • $_SERVER['SERVER_ADDR'] - IP-адрес сервера
  • $_SERVER['SERVER_NAME'] - Имя сервера (например, www.PromptCookbook.com)
  • $_SERVER['SERVER_SOFTWARE'] - Строка, которая определяет программное обеспечение сервера (например, Apache/2.2.24)
  • $_SERVER['SERVER_PROTOCOL'] - Название и версия информационного протокола (например, HTTP/1.1)
  • $_SERVER['REQUEST_METHOD'] - Метод, которым была запрошена страница (например, POST)
  • $_SERVER['REQUEST_TIME'] - Временная метка начала запроса (например, 1377687496)
  • $_SERVER['QUERY_STRING'] - Строка запроса, если страница была запрошена с ней
  • $_SERVER['HTTP_ACCEPT'] - Заголовок Accept, отправленный с этим запросом
  • $_SERVER['HTTP_ACCEPT_CHARSET'] - Заголовок Accept_Charset этого запроса (например, utf-8,ISO-8859-1)
  • $_SERVER['HTTP_HOST'] - Заголовок Host, отправленный с этим запросом
  • $_SERVER['HTTP_REFERER'] - Полный URL страницы, с которой пользователь перешёл сюда; полагаться на него нельзя, так как не все пользовательские агенты его передают
  • $_SERVER['HTTPS'] - Показывает, был ли скрипт запрошен по защищённому протоколу HTTP
  • $_SERVER['REMOTE_ADDR'] - IP-адрес, с которого посетитель просматривает страницу
  • $_SERVER['REMOTE_HOST'] - Имя хоста, с которого посетитель просматривает страницу
  • $_SERVER['REMOTE_PORT'] - Порт, через который компьютер посетителя связывается с веб-сервером
  • $_SERVER['SCRIPT_FILENAME'] - Полный абсолютный путь к выполняющемуся скрипту
  • $_SERVER['SERVER_ADMIN'] - Значение директивы SERVER_ADMIN из файла конфигурации веб-сервера или, для скрипта на виртуальном хосте, значение, заданное для этого виртуального хоста (например, someone@PromptCookbook.com)
  • $_SERVER['SERVER_PORT'] - Порт на компьютере сервера, через который работает веб-сервер (например, 80)
  • $_SERVER['SERVER_SIGNATURE'] - Имя виртуального хоста и версия сервера, которые добавляются на страницы, генерируемые сервером
  • $_SERVER['PATH_TRANSLATED'] - Путь к текущему скрипту с точки зрения файловой системы
  • $_SERVER['SCRIPT_NAME'] - Путь к текущему скрипту
  • $_SERVER['SCRIPT_URI'] - URI текущей страницы