В массив $_SERVER PHP-интерпретатор помещает переменные, полученные от сервера. Ниже представлены описания наиболее важных элементов суперглобального массива $_SERVER.
Элемент $_SERVER['DOCUMENT_ROOT'] содержит путь к корневой директории сервера:
echo $_SERVER['DOCUMENT_ROOT'];
/var/www/ubuntu-desktop.ru
В элементе $_SERVER['HTTP_ACCEPT'] описываются предпочтения клиента относительно типа документа:
echo $_SERVER['HTTP_ACCEPT'];
text/html,application/xhtml+xml,application/xml;
q=0.9,image/webp,image/apng,*/*;q=0.8
Элемент $_SERVER['HTTP_ACCEPT_LANGUAGE'] описывает предпочтения клиента относительно языка:
echo $_SERVER['HTTP_ACCEPT_LANGUAGE'];
ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
Элемент $_SERVER['SCRIPT_NAME'] содержит путь, к текущему исполняемому скрипту. Это полезно для страниц, которые должны указывать на самих себя.
echo $_SERVER['SCRIPT_NAME'];
/test.php
Элемент $_SERVER['HTTP_HOST'] содержит имя сервера, которое, как правило, совпадает с доменным именем сайта, расположенного на сервере.
echo $_SERVER['HTTP_HOST'];
ubuntu-desktop.ru
Элемент $_SERVER['HTTP_USER_AGENT'] содержит информацию о типе и версии браузера и операционной системы посетителя.
echo $_SERVER['HTTP_USER_AGENT'];
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko)
Chrome/61.0.3163.100 Safari/537.36
Элемент $_SERVER['REMOTE_ADDR'] отображает IP-адрес клиента.
echo $_SERVER['REMOTE_ADDR'];
127.0.0.1
Элемент $_SERVER['SCRIPT_FILENAME'] отображает абсолютный путь к файлу от корня диска.
echo $_SERVER['SCRIPT_FILENAME'];
/var/www/ubuntu-desktop.ru/test.php
Элемент $_SERVER['SERVER_NAME'] отображает имя сервера, как правило, совпадающее с доменным именем сайта, расположенного на нём.
echo $_SERVER['SERVER_NAME'];
ubuntu-desktop.ru
Элемент $_SERVER['SERVER_ADDR'] выводит IP адрес сервера, на котором выполняется текущий скрипт.
echo $_SERVER['SERVER_ADDR'];
127.0.0.1
Элемент $_SERVER['SERVER_PORT'] выводит gорт, по которому ожидается получение данных.
echo $_SERVER['SERVER_PORT'];
80
Элемент $_SERVER['SERVER_SOFTWARE'] выводит наименование и версию программного обеспечения установленного на сервере.
echo $_SERVER['SERVER_SOFTWARE'];
Apache/2.4.10 (Ubuntu)
Элемент $_SERVER['SERVER_SOFTWARE'] cтрока идентификации сервера, указанная в заголовках, когда происходит ответ на запрос.
echo $_SERVER['SERVER_PROTOCOL'];
HTTP/1.1
Элемент $_SERVER['REQUEST_METHOD'] выводит метод запроса, который применяется для вызова скрипта: GET или POST.
echo $_SERVER['REQUEST_METHOD'];
GET
В элемент $_SERVER['QUERY_STRING'] заносятся параметры, переданные скрипту, если строка запроса представляет собой адрес:
Пример адреса: http://ubuntu-desktop.ru/test.php?id=11
echo $_SERVER['QUERY_STRING'];
id=11
Элемент $_SERVER['PHP_SELF'] выдает имя скрипта, начиная от корневой директории виртуального хоста, и если например если строка запроса представляет собой адрес http://ubuntu-desktop.ru/test.php?id=11 то элемент $_SERVER['PHP_SELF'] будет содержать фрагмент "/test.php".
echo $_SERVER['PHP_SELF'];
/test.php
Элемент $_SERVER['REQUEST_URI'] содержит имя скрипта, начиная от корневой директории виртуального хоста и параметры, т.е. если строка запроса представляет собой адрес: http://ubuntu-desktop.ru/test.php?id=11 то элемент $_SERVER['REQUEST_URI'] будет содержать фрагмент "/test.php?id=11".
echo $_SERVER['REQUEST_URI'];
/test.php?id=11
Для получения полного адреса к скрипту используйте следующую комбинацию элементов:
echo "http://".$_SERVER['SERVER_NAME'].$_SERVER['REQUEST_URI'];
http://ubuntu-desktop.ru/test.php?id=11