$ _ SERVER
$ _ SERVER — это массив, содержащий информацию о заголовках, путях и расположениях скриптов. Веб-сервер создает записи в массиве. Это не гарантирует, что каждый веб-сервер будет предоставлять аналогичную информацию, скорее, некоторые серверы могут включать или исключать некоторую информацию, которая здесь не указана.
$ _ SERVER имеет следующие основные свойства:
1. Устанавливается веб-сервером.
2. Непосредственно связано со средой выполнения текущего скрипта php.
3. Он выполняет ту же работу, что и $ HTTP_SERVER_VARS, который выполнялся в предыдущих версиях PHP
- Пример вывода $ _SERVER, взятого с localhost
- PHP: $ _SERVER [‘PHP_SELF’]
- PHP: $ _SERVER [‘argv’]
- PHP: суперглобальная переменная: $ argc
- PHP: $ _SERVER [‘GATEWAY_INTERFACE’]
- PHP: $ _SERVER [‘SERVER_ADDR ‘]
- PHP: $ _SERVER [‘ SERVER_NAME ‘]
- PHP: $ _SERVER [‘ SERVER_SOFTWARE ‘]
- PHP: $ _SERVER [‘SERVER_PROTOCOL’]
- PHP: $ _SERVER [‘REQUEST_METHOD’]
- PHP: $ _SERVER [‘REQUEST_TIME’]
- PHP: $ _SERVER [‘QUERY_STRING’]
- PHP: $ _SERVER [‘HTTP_ACCEPT’]
- PHP: $ _SERVER [‘HTTP_ACCEPT_CHARSET’]
- PHP: $ _SERVER [‘HTTP_HOST’]
- PHP: $ _SERVER [‘REMOTE_PORT’]
- PHP: $ _SERVER [‘SCRIPT_FILENAME’]
- PHP: $ _SERVER [‘SERVER_ADMIN’]
- PHP: $ _SERVER [‘SERVER_PORT’]
- PHP: $ _SERVER [ ‘SERVER_SIGNATURE’]
- PHP: $ _SE RVER [‘PATH_TRANSLATED’]
- PHP: $ _SERVER [‘SCRIPT_NAME’]
- PHP: $ _SERVER [‘SCRIPT_URI’]
Пример вывода $ _SERVER, взятого с localhost
array (32) {[ "HTTP_HOST"] => строка (9) "localhost" ["HTTP_CONNECTION"] => строка (10) "keep-alive" ["HTTP_USER_AGENT"] => строка (101) "Mozilla/5.0 (Windows NT 6.1) AppleWebKit /536.11(KHTML, как Gecko) Chrome/20.0.1132.57 Safari/536.11 "[" HTTP_ACCEPT "] => строка (63)" text/html, application/xhtml + xml, application/xml; q = 0.9, */* ; q = 0.8 "[" HTTP_REFERER "] => string (49)" http://localhost/php/super-variables/$_SERVER.php "[" HTTP_ACCEPT_ENCODING "] => string (17)" gzip, deflate, sdch "[" HTTP_ACCEPT_LANGUAGE "] => строка (14)" en-US, en; q = 0.8 "[" HTTP_ACCEPT_CHARSET "] => строка (30)" ISO-8859-1, utf-8; q = 0.7, *; q = 0,3 "[" HTTP_COOKIE "] => строка (52)" bsau = 13422601771944046296; bsas = 13422601771975238542 "[" ПУТЬ "] => строка (120)" C: Windows system32; C: Windows; C: Windows System32 Wbem; C: Windows System32 WindowsPowerShell v1.0 ; c: python32 python; "[" SystemRoot "] => строка (10)" C: Windows "[" COMSPEC "] => строка (27)" C: Windows system32 cmd. exe "[" ПУТЬ "] => строка (53)" .COM; .EXE; .BAT; .CMD; .VBS; .VBE; .JS; .JSE; .WSF; .WSH; .MSC "[" WINDIR "] => строка (10)" C: Windows "[" SERVER_SIGNATURE "] => строка (0)" "[" SERVER_SOFTWARE "] => строка (31)" Apache/2.2.11 (Win32) PHP/5.3 .0 "[" SERVER_NAME "] => строка (9)" localhost "[" SERVER_ADDR "] => строка (9)" 127.0.0.1 "[" SERVER_PORT "] => строка (2)" 80 "[" REMOTE_ADDR "] => строка (9)" 127.0.0.1 "[" DOCUMENT_ROOT "] => строка (12)" F:/wamp/www/"[" SERVER_ADMIN "] => строка (15)" [электронная почта защищена] " ["SCRIPT_FILENAME"] => строка (49) "F:/wamp/www/php/super-variables/test - $ _ server.php" ["REMOTE_PORT"] => строка (5) "51124" ["GATEWAY_INTERFACE" ] => строка (7) "CGI/1.1" ["SERVER_PROTOCOL"] => строка (8) "HTTP/1.1" ["REQUEST_METHOD"] => строка (3) "GET" ["QUERY_STRING"] => строка (0) "" ["REQUEST_URI"] => строка (38) "/php/super-variables/test-$_server.php"["SCRIPT_NAME" visible=>string(38)"/php/super-variables/ test - $ _ server.php "[" PHP_SELF "] => строка (38)"/php/super-variables/test-$_server.php"["REQUEST_TIME"pting=>int(1342260551)}
Ниже мы обсудили элемент s, которые могут существовать в $ _SERVER.
PHP: $ _SERVER [‘PHP_SELF’]
Вы можете найти имя файла текущего выполняемого скрипта, используя $ _SERVER [‘PHP_SELF’]. Имя файла, отображаемое в качестве вывода, определяется относительно корня документа.
Используется следующий php-код $ _SERVER [‘PHP_SELF’]
phpecho $ _SERVER ['PHP_SELF'];?>
Просмотреть пример в браузере
Другой продвинутый пример:
Базовые знания о массиве являются обязательным условием для этого примера. Вы можете вернуться к этому примеру после того, как изучите php array. Следующий код PHP сравнивает элементы массива с $ _SERVER [‘PHP_SELF’] и отображает сообщение.
php $ findit = array ('/php/super-variables/test.php', '/php/super-variables/test1123.php', '/ php/super-variables/php-self-advanced-example1.php '); for ($ j = 0; $ j
Просмотреть пример в браузере
PHP: $ _SERVER [‘argv’]
Если используется, все аргументы, переданные из командной строки, сохраняются в массиве $ _SERVER [‘argv’]. Само имя файла является первым элементом в массиве, т.е. 0.
Пример:
phpecho $ _SERVER ['argv'];?>
Если это файл (скажем, arguments.php), содержащий $ _SERVER [‘argv’], а затем вы запустите следующий из командной строки:
, где php установлен в D: php, а arguments.php сохранен в D:
Вывод вышеуказанной команды:
d: arguments.phpw3resource.com
PHP: суперглобальная переменная: $ argc
$ argc может содержать ряд параметров командной строки. Эти параметры передаются в соответствующий скрипт.
Пример:
Phpvar_dump ($ argc) ;?>
Если приведенный выше код сохранен как argc.php и выполняется из командной строки с аргументами arg1, arg2 и arg3; вот результат —
C: wamp bin php php5.3.0> php.exe-f "C: argc.php" - -arg1 -arg2 -arg3 int ( 4) C: wamp bin php php5.3.0>
PHP: $ _SERVER [‘GATEWAY_INTERFACE’]
Переменная $ _ SERVER [‘GATEWAY_INTERFACE’] возвращает версию спецификации Common Gateway Interface (CGI), которую использует сервер. Например, CGI/1.1 является допустимым GATEWAY_INTERFACE.
В следующем php-коде используется $ _SERVER [‘GATEWAY_INTERFACE’]. Обратите внимание на один момент: если какой-либо сервер не содержит Common Gateway Interface (CGI), он ничего не будет отображать.
Пример:
phpecho $ _SERVER ['GATEWAY_INTERFACE'];?>
PHP: $ _SERVER [‘SERVER_ADDR’]
$ _SERVER [‘SERVER_ADDR’] возвращает IP-адрес ( Адрес Интернет-протокола) хост-сервера.
В следующем php-коде используется $ _SERVER [‘SERVER_ADDR’] для отображения IP-адреса хост-сервера.
Пример:
phpecho $ _SERVER ['SERVER_ADDR'];?>
Пример вывода:
xxx.xx.xxx.xx
Примечание. Если вы запустите приведенный выше код на localhost, он будет return 127.0.0.1
PHP: $ _SERVER [‘SERVER_NAME’]
Указывает имя хост-сервера.
Следующий код php использовал переменную $ _SERVER [‘SERVER_NAME’] для отображения имени хост-сервера.
Пример:
phpecho $ _SERVER ['SERVER_NAME'];?>
Вывод:
www.w3resource .com
Просмотреть пример в браузере
Примечание: если вы запустите приведенный выше код на localhost, по умолчанию имя сервера будет отображаться как localhost. запущен на виртуальном хосте, имя набора виртуальных хостов будет возвращено как имя сервера.
PHP: переменная $ _SERVER [‘SERVER_SOFTWARE’]
$ _ SERVER [‘SERVER_SOFTWARE’] извлекает строку идентификации сервера. Строка предоставляется в заголовках при ответе на запросы.
В следующем PHP-коде используется $ _SERVER [‘SERVER_SOFTWARE’]
Пример:
phpecho $ _SERVER ['SERVER_SOFTWARE'];?>
Вывод:
Apache/2.2. 3 (CentOS)
Просмотреть пример в браузере
PHP: $ _SERVER [‘SERVER_PROTOCOL’]
Переменная $ _ SERVER [‘SERVER_PROTOCOL’] извлекает имя и версию информационного протокола, через который была запрошена страница.
Следующий код PHP используется $ _SERVER [‘SERVER_PROTOCOL’]
Пример:
phpecho $ _SERVER ['SERVER_PROTOCOL'];?>
Вывод:
HTTP/1.1
Просмотреть пример в браузере
PHP: $ _SERVER [‘REQUEST_METHOD’]
$ _ SERVER [‘REQUEST_METHOD’] выбирает метод запроса, используемый для доступа к странице. Методы запроса: GET, HEAD, POST, PUT.
Следующий код PHP используется $ _SERVER [‘REQUEST_METHOD’] —
Пример:
phpecho $ _SERVER ['REQUEST_METHOD'];?>
Вывод:
GET
Просмотрите пример в браузере
PHP: $ _SERVER [‘REQUEST_TIME’]
Переменная $ _ SERVER [‘REQUEST_TIME’] извлекает временную метку начала запроса.
Следующий код PHP используется $ _SERVER [‘REQUEST_TIME’]
Пример:
phpecho $ _SERVER ['REQUEST_TIME'];?>
Просмотреть пример в браузере
PHP: $ _SERVER [‘QUERY_STRING’]
Если доступ к странице осуществляется через любую строку запроса, $ _SERVER [‘QUERY_STRING’] выбирает эту строку запроса.
Следующий код PHP использовал $ _SERVER [‘QUERY_STRING’].
Пример:
phpecho "Строка запроса:". $ _ SERVER ['QUERY_STRING'];?>
Если указанный выше код php сохранен с именем файла QUERY_STRING.php и если вы добавите ‘? Tutorial = php & section = super-globals’ (т.е. QUERY_STRING.php? Tutorial = php & section = super-globals); он напечатает эту строку на странице, поскольку вы попросили скрипт напечатать $ _SERVER [‘QUERY_STRING’].
PHP: $ _SERVER [‘HTTP_ACCEPT’]
Если существует, содержимое заголовок Accept: из текущего запроса извлекается $ _SERVER [‘HTTP_ACCEPT’].
Следующий код PHP используется $ _SERVER [‘HTTP_ACCEPT’]
Пример:
phpecho $ _SERVER ['HTTP_ACCEPT'];?>
Вывод :
text/html, application/xhtml + xml, application/xml; q = 0.9, */*; q = 0.8
Просмотрите пример в браузере
PHP: $ _SERVER [‘HTTP_ACCEPT_CHARSET’]
Если существует, содержимое заголовка Accept-Charset: из текущего запроса извлекается $ _SERVER [‘HTTP_ACCEPT_CHARSET’].
В следующем php-коде используется $ _SERVER [‘HTTP_ACCEPT_CHARSET’]
phpecho $ _SERVER ['HTTP_ACCEPT_CHARSET'];?>
Вывод:
ISO-8859-1, utf-8 ; q = 0.7, *; q = 0.7
Просмотреть пример в браузере
PHP: $ _SERVER [‘HTTP_HOST’]
Указывает имя хост-сервера. Содержимое заголовка Host: из текущего запроса, если он есть.
Используется следующий код PHP $ _SERVER [‘HTTP_HOST ‘]
Пример:
phpecho $ _SERVER [' HTTP_HOST '];?>
Output:
www.w3resource.com
Просмотрите пример в браузер
PHP: $ _SERVER [‘HTTP_REFERER’]
$ _ SERVER [‘HTTP_REFERER’] можно использовать для получения полный URL-адрес текущей страницы.
Поскольку некоторые, но не все пользовательские агенты (например, браузеры) не поддерживают его, его использование не очень надежно.
Следующий код php использовал $ _SERVER [‘HTTP_REFERER’]
phpecho $ _SERVER ['HTTP_REFERER'];?>
Вывод:
https://www.w3resource.com /php/super-variables/$_SERVER-HTTP_REFERER.php
Просмотреть пример в браузере
PHP: $ _SERVER [‘HTTP_USER_AGENT’]
Если существует, содержимое заголовка User-Agent: из текущего запроса извлекается $ _SERVER [‘HTTP_USER_AGENT’].
Следуя php использованный код $ _SERVER [‘HTTP_USER_AGENT’]
phpecho $ _SERVER [' HTTP_USER_AGENT '];?>
Просмотреть пример в браузере
PHP: $ _SERVER [‘ HTTPS ‘]
Если сценарий был запрошен через безопасный протокол HTTP, $ _SERVER [‘HTTPS’] устанавливается в непустое значение.
Используется следующий код php $ _SERVER [‘HTTPS’]
Phpecho $ _SERVER ['HTTPS' ];?>
PHP: $ _SERVER [‘REMOTE_ADDR’]
$ _ SERVER [‘REMOTE_ADDR’] извлекает IP-адрес, с которого пользователь просматривает текущую страницу.
В следующем php-коде используется $ _SERVER [‘REMOTE_ADDR’]
Просмотреть пример в браузере
PHP: $ _SERVER [‘ REMOTE_HOST ‘]
$ _ SERVER [‘ REMOTE_HOST ‘] извлекает имя хоста, с которого пользователь просматривает текущую страницу.
Но для того, чтобы этот скрипт работал, необходимо настроить поиск имени хоста внутри httpd.conf..
Следующий код PHP использовал $ _SERVER [‘REMOTE_HOST’]
Пример:
phpecho $ _SERVER ['REMOTE_HOST'];?>
PHP: $ _SERVER [‘REMOTE_PORT’]
Указывает имя хост-сервера. Порт, используемый на компьютере пользователя для связи с веб-сервером.
В следующем PHP-коде использовался $ _SERVER [‘REMOTE_PORT’]
Пример :
phpecho $ _SERVER ['REMOTE_PORT'];?>
Просмотрите пример в браузере
PHP: $ _SERVER [‘SCRIPT_FILENAME’]
$ _ SERVER [‘SCRIPT_FILENAME’] извлекает абсолютный путь к текущему выполнение скрипта.
Следующий код php использовал $ _SERVER [‘SCRIPT_FILENAME’]
phpecho $ _SERVER ['SCRIPT_FILENAME'];?>
Вывод:
https://www. w3resource.com/php/super-variables/$_SERVER-HTTP_REFERER.php
Просмотрите пример в браузере
PHP: $ _SERVER [‘SERVER_ADMIN’]
$ _ SERVER-SERVER_ADMIN.php извлекает значение, указанное в директиве SERVER_ADMIN (для Apache) в файле конфигурации веб-сервера.
Если сценарий выполняется на виртуальном хосте, это будет значение, определенное для этого виртуального хоста.
В следующем php-коде используется $ _SERVER [‘SERVER_ADMIN’]
phpecho $ _SERVER ['SERVER_ADMIN'];?>
Вывод:
[email protected]
Просмотреть пример в браузере
PHP $ _SERVER [‘SERVER_PORT’]
Указывает имя хост-сервера Порт на сервере, который используется веб-сервером для связи. Для настроек по умолчанию это будет «80»; использование SSL, например, изменит его на любой определенный вами безопасный порт HTTP.
В следующем php-коде используется $ _SERVER [‘SERVER_PORT’]
phpecho $ _SERVER ['SERVER_PORT'];?>
Просмотреть пример в браузере
PHP: $ _SERVER [‘SERVER_SIGNATURE’]
$ _ SERVER [‘SERVER_SIGNATURE’] извлекает строку, содержащую версию сервера и имя виртуального хоста, которые добавляется к страницам, генерируемым сервером, если он включен.
В следующем php-коде используется $ _SERVER [‘SERVER_SIGNATURE’]
phpecho $ _SERVER ['SERVER_SIGNATURE'];?>
Вывод:
Сервер Apache/2.2.3 (CentOS) на www.w3resource.com Порт 80
Просмотрите пример в браузере
PHP: $ _SERVER [‘PATH_TRANSLATED’]
$ _ SERVER [‘PATH_TRANSLATED’] извлекает путь на основе файловой системы к текущему скрипту. Это выполняется после того, как сервер выполнил какое-либо преобразование виртуального в реальное.
Это работает, только когда определено PATH_INFO.
В следующем php-коде используется $ _SERVER [‘PATH_TRANSLATED’]
phpecho $ _SERVER ['PATH_TRANSLATED'];?>
PHP: $ _SERVER [‘SCRIPT_NAME’]
$ _ SERVER [‘SCRIPT_NAME’] содержит путь к текущему сценарию.
phpecho $ _SERVER ['SCRIPT_NAME'];?>
Вывод:
/php/super-variables/$ _ SERVER-SERVER_SCRIPT_NAME-example1.php
PHP: $ _SERVER [‘SCRIPT_URI’]
$ _ SERVER [‘REQUEST_URI’] содержит URI текущей страницы.
Итак, если полный путь к странице https://www.w3resource.com/html/html-tutorials.php, $ _SERVER [‘REQUEST_URI’] будет содержать/html/html- tutorials.php.
Следующий код php использовал переменную $ _SERVER [‘REQUEST_URI’].
phpecho $ _SERVER ['REQUEST_URI'];?>
Вывод:
/php/super-variables/PHP - $ _ SERVER-REQUEST_URI-example.php
Просмотрите пример в браузере