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

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

Практически в каждом web сайте используются данные cуперглобального массива $_SERVER, поэтому для создания веб сайтов и разработки интернет-магазинов данная информация очень важна!

$_SERVER - представляет собой глобальный массив содержащий информацию: заголовки (headers), пути (адреса URL) и местоположения скриптов. Наполняется этот массив веб-сервером.

Переменные (ключи) массива $_SERVER

'PHP_SELF'

Имя выполняется скрипта (файла), относительно корня на сервере. Например,$_SERVER['PHP_SELF'] в скрипте по адресу http://abcname.com/foo/my.php будет /foo/my.php. Константа __FILE__ содержит полный путь и имя файла текущего (то есть подключенного) файла.


'argv'

Когда скрипт запущен в командой строке, мы можем получить массив аргументов, переданных скрипту. Если скрипт вызывается через метод GET, этот массив будет содержать строку запроса.


'argc'

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


'GATEWAY_INTERFACE'

Показывает используемую сервером версию спецификации CGI; к примеру'CGI/1.1'.


'SERVER_ADDR'

Возвращает IP адрес сервера.


'SERVER_NAME'

Возвращает имя хоста. Если скрипт выполняется на виртуальном хосте, то будет содержатся имя, определенное для этого виртуального хоста.


'SERVER_SOFTWARE'

Строка идентификации сервера, указанная в заголовках.


'SERVER_PROTOCOL'

Имя информационного протокола http или https, через который была запрошена страница.


'REQUEST_METHOD'

Название метода, который был использован для запроса страницы; к примеру 'GET', 'HEAD', 'POST', 'PUT'.


'REQUEST_TIME'

Временная метка начала запроса. Доступна, начиная с PHP 5.1.0 и выше.


'REQUEST_TIME_FLOAT'

Временная метка начала запроса с точностью до микросекунд. Доступна, начиная с PHP 5.4.0.


'QUERY_STRING'

Строка запросов, если есть, с помощью которой была получена страница.


'DOCUMENT_ROOT'

Корневая директория, в которой выполняется текущий скрипт.


'HTTP_ACCEPT'

Содержимое заголовка Accept: из текущего запроса, если он есть.


'HTTP_ACCEPT_CHARSET'

Содержимое заголовка Accept-Charset: из текущего запроса, если он есть. Например: 'iso-8859-1,*,utf-8'.


'HTTP_ACCEPT_ENCODING'

Содержимое заголовка Accept-Encoding: из текущего запроса, если он есть. Например: 'gzip'.


'HTTP_ACCEPT_LANGUAGE'

Содержимое заголовка Accept-Language: из текущего запроса, если он есть. Например: 'en'.


'HTTP_CONNECTION'

Содержимое заголовка Connection: из текущего запроса, если он есть. Например: 'Keep-Alive'.


'HTTP_HOST'

Содержимое заголовка Host: из текущего запроса, если он есть.


'HTTP_REFERER'

Адрес страницы (если есть), которая привела браузер пользователя на эту страницу. Этот заголовок устанавливается веб-браузером пользователя. Не все браузеры устанавливают его и некоторые в качестве дополнительной возможности позволяют изменять содержимое заголовка HTTP_REFERER. Одним словом, в самом деле ему нельзя доверять.


'HTTP_USER_AGENT'

Содержимое заголовка User-Agent: из текущего запроса, если он есть. Эта строка содержит обозначение браузера, которым пользователь запросил данную страницу. Типичным примером является строка: Mozilla/4.5 [en] (X11; U; Linux 2.2.9 i586). Среди прочего, вы можете использовать это значение с функцией get_browser() чтобы адаптировать вывод вашей страницы к возможностям браузера пользователя


'HTTPS'

Принимает значение, при условии если запрос был произведен через протокол HTTPS. При использовании ISAPI с IIS значение будет off, если запрос не был произведен через протокол HTTPS.


'REMOTE_ADDR'

IP-адрес пользователя сайта.


'REMOTE_HOST'

Удаленный хост, с которого пользователь просматривает текущую страницу. Обратный просмотр DNS базируется на значении переменной REMOTE_ADDR.


'REMOTE_PORT'

Порт на удаленной машине, который используется для связи с веб-сервером.


'REMOTE_USER'

Аутентифицированный пользователь.


'REDIRECT_REMOTE_USER'

Аутентифицированный пользователь, если запрос был перенаправлен изнутри.


'SCRIPT_FILENAME'

Абсолютный путь к скрипту, который в данный момент исполняется.


'SERVER_ADMIN'

Эта переменная получает свое значение (для Apache) из директивы конфигурационного файла сервера. Если скрипт запущен на виртуальном хосте, это будет значение, определенное для данного виртуального хоста.


'SERVER_PORT'

Порт на компьютере сервера, используемый веб-сервером для соединения. Для установок по умолчанию, значение будет '80'; используя SLL, например, это значение будет таким, какое сконфигурировано для соединений безопасного HTTP. Замечание: Чтобы получить физический (реальный) порт в Apache 2, необходимо установить UseCanonicalName = On и UseCanonicalPhysicalPort = On, иначе это значение может быть подменено и не вернуть реальной значение физического порта. Полагаться на это значение небезопасно в контексте приложений, требующих усиленной безопасности.



'SERVER_SIGNATURE'

Строка, содержащая версию сервера и имя виртуального хоста, которые добавляются к генерируемым сервером страницам, если включено.


'PATH_TRANSLATED'

Filesystem- (not document root-) based path to the current script, after the server has done any virtual-to-real mapping. Замечание: Начиная с PHP 4.3.2, переменная PATH_TRANSLATED больше не устанавливается неявно в Apache 2 SAPI, по сравнению с Apache версии 1, где она устанавливается в то же самое значение, что и переменная SCRIPT_FILENAME, когда она не используется Apache. Это изменение было сделано для соответствия спецификации CGI, где переменная PATH_TRANSLATED должна существовать только тогда, когда PATH_INFO определена. Пользователи Apache 2 могут использовать директиву AcceptPathInfo = On в конфигурационном файле httpd.conf для задания переменной PATH_INFO.



'SCRIPT_NAME'

Содержит путь, к текущему исполняемому скрипту. Это полезно для страниц, которые должны указывать на самих себя. Константа __FILE__ содержит полный путь и имя текущего (т.е. включаемого) файла.


'REQUEST_URI'

URI, который был передан для того, чтобы получить доступ к этой странице. Например, '/index.html'.


'PHP_AUTH_DIGEST'

При выполнении HTTP Digest аутентификации, этой переменной присваивается заголовок 'Authorization', который присылается клиентом (его необходимо потом использовать для соответствующей валидации).


'PHP_AUTH_USER'

Когда выполняется HTTP-аутентификация, этой переменной присваивается имя пользователя, предоставленное пользователем.


'PHP_AUTH_PW'

Когда выполняется HTTP-аутентификация, этой переменной присваивается пароль, предоставленный пользователем.


'AUTH_TYPE'

Когда выполняется HTTP-аутентификация, этой переменной присваивается тип аутентификации, который используется.


'PATH_INFO'

Содержит любой предоставленный пользователем путь, содержащийся после имени скрипта, но до строки запроса, если доступно. Например, если текущий скрипт запрошен по URL http://www.example.com/php/path_info.php/some/stuff?foo=bar, то переменная $_SERVER['PATH_INFO'] будет содержать /some/stuff.


'ORIG_PATH_INFO'

Исходное значение переменной 'PATH_INFO' до начала обработки PHP.



Практические примеры работы с массивом $_SERVER

Пример вывода массива $_SERVER;

способ вывода информации через перебор foreach


Получение ip адреса пользователя

Получение адрес страницы

Узнать браузер

Получение имени и версии используемого HTTP протокола.

Текущий порт сервера

Параметры соединения

Имя сервера

Разрешенные хосты

Порт подключения

Схема запроса

Метод запроса к странице

Время запроса к серверу в Unix timestamp

Пути на сервере

Корневая директория сайта, в которой выполняется текущий скрипт

Путь, содержащийся после имени скрипта

Имя выполняемого скрипта

Абсолютный путь к исполняемому скрипту

Пути на сервере

Корневая директория сайта, в которой выполняется текущий скрипт

Путь, содержащийся после имени скрипта

Имя выполняемого скрипта

Абсолютный путь к исполняемому скрипту

Авторизация на .htpasswd

Метод HTTP аутентификации

Логин пользователя

Пароль пользователя

HTTPS

Эти данные появляются при HTTPS соединении

Вывод протокола

Проверка на https протокол и перенаправление 301 redirect

URL

Вывод адреса страницы, URI страницы с GET-параметрами, без имени домена

Строка GET-запроса

Массив GET-параметров

Количество элементов массива $_SERVER['argv']

​URL страницы без GET-параметров и домена

Заголовки браузера

Вывод браузера и операционной системы

Куки браузера в виде строки: ключ=значение;

Адрес удаленной страницы, с которой браузер пользователя перешёл на текущую страницу

Содержимое заголовка Accept из текущего запроса

HTTP заголовок переданный клиентом

​Содержимое заголовка Accept-Language

Кодировка клиента

Вывод заголовка Connection

Значение времени кеша страницы

шифрование ответа клиента

Помогла ли вам статья?
346 раз уже помогла
Комментарии: (0)

КАТЕГОРИИ