1. Главная страница » Компьютеры » Php глобальные переменные server

Php глобальные переменные server

Автор: | 16.12.2019

(PHP 4 >= 4.1.0, PHP 5, PHP 7)

$_SERVER — $HTTP_SERVER_VARS [удалено] — Информация о сервере и среде исполнения

Описание

Переменная $_SERVER — это массив, содержащий информацию, такую как заголовки, пути и местоположения скриптов. Записи в этом массиве создаются веб-сервером. Нет гарантии, что каждый веб-сервер предоставит любую из них; сервер может опустить некоторые из них или предоставить другие, не указанные здесь. Тем не менее, многие эти переменные присутствуют в » спецификации CGI/1.1, так что вы можете их ожидать их реализации и в конкретном веб-сервере.

Переменная $HTTP_SERVER_VARS содержит ту же начальную информацию, но она не суперглобальная. (Заметьте, что $HTTP_SERVER_VARS и $_SERVER являются разными переменными, так что PHP обрабатывает их соответственно). Также учтите, что "длинные массивы" были удалены в версии PHP 5.4.0, поэтому $HTTP_SERVER_VARS больше не существует.

Индексы

Вы можете найти (а можете и не найти) любой из следующих элементов в массиве $_SERVER . Заметьте, что немногие элементы, если вообще такие найдутся, будут доступны (или действительно будут иметь значение), если PHP запущен в командной строке.

‘ PHP_SELF ‘ Имя файла скрипта, который сейчас выполняется, относительно корня документов. Например, $_SERVER[‘PHP_SELF’] в скрипте по адресу http://example.com/foo/bar.php будет /foo/bar.php . Константа __FILE__ содержит полный путь и имя файла текущего (то есть подключенного) файла. Если PHP запущен в командной строке, эта переменная содержит имя скрипта, начиная с PHP 4.3.0. Раньше она была недоступна. ‘argv’ Массив аргументов, переданных скрипту. Когда скрипт запущен в командой строке, это дает C-подобный доступ к параметрам командной строки. Когда вызывается через метод GET, этот массив будет содержать строку запроса. ‘argc’ Содержит количество параметров, переданных скрипту (если запуск произведен в командной строке). ‘ GATEWAY_INTERFACE ‘ Содержит используемую сервером версию спецификации CGI; к примеру’CGI/1.1‘. ‘ SERVER_ADDR ‘ IP адрес сервера, на котором выполняется текущий скрипт. ‘ SERVER_NAME ‘ Имя хоста, на котором выполняется текущий скрипт. Если скрипт выполняется на виртуальном хосте, здесь будет содержатся имя, определенное для этого виртуального хоста. ‘ SERVER_SOFTWARE ‘ Строка идентификации сервера, указанная в заголовках, когда происходит ответ на запрос. ‘ SERVER_PROTOCOL ‘ Имя и версия информационного протокола, через который была запрошена страница; к примеру ‘HTTP/1.0‘; ‘ REQUEST_METHOD ‘ Какой метод был использован для запроса страницы; к примеру ‘GET‘, ‘HEAD‘, ‘POST‘, ‘PUT‘.

PHP скрипт завершается после посылки заголовков (то есть после того, как осуществляет любой вывод без буферизации вывода), если запрос был осуществлен методом HEAD.

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

Замечание: Ваш веб-сервер должен быть настроен, чтобы создавать эту переменную. Для примера, в Apache вам необходимо присутствие директивы HostnameLookups On в файле httpd.conf , чтобы эта переменная создавалась. См. также gethostbyaddr() .

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

Если скрипт запускается в командной строке (CLI), используя относительный путь, такой как file.php или ../file.php , переменная $_SERVER[‘SCRIPT_FILENAME’] будет содержать относительный путь, указанный пользователем.

‘ SERVER_ADMIN ‘ Эта переменная получает свое значение (для Apache) из директивы конфигурационного файла сервера. Если скрипт запущен на виртуальном хосте, это будет значение, определенное для данного виртуального хоста. ‘ SERVER_PORT ‘ Порт на компьютере сервера, используемый веб-сервером для соединения. Для установок по умолчанию, значение будет ‘80‘; используя SLL, например, это значение будет таким, какое сконфигурировано для соединений безопасного HTTP.

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

Список изменений

Версия Описание
5.4.0 Массив $HTTP_SERVER_VARS больше не доступен в связи с удалением "длинных массивов".
5.3.0 Директива register_long_arrays, которая приводила к заполнению $HTTP_SERVER_VARS помечена как устаревшая.
4.1.0 Введена переменная $_SERVER вместо старой $HTTP_SERVER_VARS .
Читайте также:  Brooks cascadia 12 отзывы

Примеры

Пример #1 Пример использования $_SERVER

Результатом выполнения данного примера будет что-то подобное:

Примечания

Это ‘суперглобальная’ или автоматическая глобальная переменная. Это просто означает что она доступна во всех контекстах скрипта. Нет необходимости выполнять global $variable; для доступа к ней внутри метода или функции.

Суперглобальный массивы были введены в PHP 4.1.0 и являются встроенными переменные, которые всегда доступны во всех областях.

PHP Глобальные переменные — суперглобальный массив

Несколько предопределенных переменных в PHP "суперглобальные", что означает, что они всегда доступны, независимо от области — и Вы можете получить к ним доступ из любой функции, класса или файла без необходимости делать что-либо особенное.

PHP Суперглобальные переменные:

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

PHP $GLOBALS

$GLOBALS — суперглобальная переменная PHP, которая используется для доступа к глобальным переменным из любого места в PHP скрипте (внутри функций или методах).

Все PHP глобальные переменные хранятся в массиве [index]. index содержит имя переменной.

В приведенном ниже примере показано, как использовать суперглобальную переменную $GLOBALS :

Пример

В приведенном выше примере, поскольку z является переменной, присутствующей в $GLOBALS как массив, он также доступен снаружи функции!

PHP $_SERVER

$_SERVER — суперглобальная переменная PHP, которая содержит сведения о заголовках, пути и расположения сценариев.

В приведенном ниже примере показано, как использовать некоторые из элементов в $_SERVER :

Пример

В следующей таблице перечислены наиболее важные элементы, которые могут находится внутри $_SERVER :

Элемент/Код Описание
$_SERVER[‘PHP_SELF’] Возвращает имя текущего выполняемого скрипта
$_SERVER[‘GATEWAY_INTERFACE’] Возвращает версию интерфейса общего шлюза (CGI) сервер с помощью
$_SERVER[‘SERVER_ADDR’] Возвращает IP-адрес хост-сервера
$_SERVER[‘SERVER_NAME’] Возвращает имя хост-сервера например,(www.schoolsw3.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’] Возвращает заголовок узла из текущего запроса
$_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@schoolsw3.com)
$_SERVER[‘SERVER_PORT’] Возвращает порт на серверном компьютере, используемом веб-сервером для связи например,(80)
$_SERVER[‘SERVER_SIGNATURE’] Возвращает версию сервера и имя виртуального хоста, которые добавляются к странице, созданные сервером
$_SERVER[‘PATH_TRANSLATED’] Возвращает путь на основе файловой системы к текущему сценарию
$_SERVER[‘SCRIPT_NAME’] Возвращает путь текущего сценария
$_SERVER[‘SCRIPT_URI’] Возвращает URI текущей страницы

PHP $_REQUEST

PHP $_REQUEST используется для сбора данных после отправки HTML формы.

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

Серверные переменные $_SERVER

Примечание: Впервые появилась в PHP версии 4.1.0. В более ранних версиях используется переменная $HTTP_SERVER_VARS.

$_SERVER — это суперглобальный массив, содержащий такую информацию, как заголовки, пути, размещение скриптов. Данный массив создается веб-сервером. Нет никиких гарантий, что веб-сервер снабдит данный суперглобальный массив всей предопределенной информацией. За детельной информацией по переменным, содержащихся в данном суперглобальном массиве, обратитесь к спецификации CGI 1.1.

Суперглобальные переменные доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_SERVER . На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_SERVER_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_SERVER_VARS и $_SERVER — это различные переменные).

Вы можете не найти некоторый переменные, которые могут содержаться в массиве $_SERVER, если вы запускаете PHP из коммандной строки.

PHP_SELF

Имя файла в настоящее время выполняющегося сценария, относительно корня документа. Например, $_SERVER [‘PHP_SELF’] в сценарии при адресе http://example.com/test.php/foo.bar возвращает /test.php/foo.bar . Предопределенная константа __FILE__ содержит полный путь и имя файла.
Если PHP выполняется из командной строки, эта переменная содержит имя сценария (доступно, начиная с PHP 4.3.0).

Читайте также:  1С зуп регистр налогового учета по ндфл

argv

Массив параметров, переданных сценарию. При использовании метода GET, он будет содержать строку запроса.

argc

Содержит номер параметров командной строки, переданных сценарию (если они переданы из командной строки).

GATEWAY_INTERFACE

Содержит версию CGI, которую использует веб-сервер (Например, CGI/1.1).

SERVER_NAME

Имя веб-сервера, под которым текущий скрипт выполняется. Если скрипт исполняется на виртуальном веб-сервере, переменная будет содержать имя веб-сервера, которое было определено для виртуального веб-сервера.

SERVER_SOFTWARE

Идентификационная строка веб-сервера, которая передается через заголовки при ответах на запросы сервера.

SERVER_PROTOCOL

Имя и версия используемого протокола HTTP (Например, HTTP/1.1).

REQUEST_METHOD

Используемый метод запроса веб-страницы ( ‘GET’, ‘HEAD’, ‘POST’, ‘PUT’ ).

REQUEST_TIME

Время начала запроса веб-страницы. Доступна, начиная с PHP 5.1.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()

REMOTE_ADDR

IP-адрес удаленного пользователя, который обращается к текущей странице.

REMOTE_HOST

Имя хоста удаленного пользователя, который обращается к текущей странице. Реверсивный поиск DNS базируется на REMOTE_ADDR удаленного пользователя. Примечание: веб-сервер должен поддерживать создание данной переменной. Например, в Apache опция HostnameLookups должна быть включена в конфигурационном файле httpd.conf (On). Смотрите также: gethostbyaddr()

REMOTE_PORT

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

SCRIPT_FILENAME

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

SERVER_ADMIN

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

SERVER_PORT

Текущий порт веб-сервера, используемы для предечи данных по протоколу HTTP. По-умолчанию ’80’.

SERVER_SINGATURE

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

PATH_TRANSLATED

Базовый путь к текущему сценарию.

SCRIPT_NAME

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

REQUEST_URI

URI для текущей страницы, например, ‘ /index.html ‘.

PHP_AUTH_DIGEST

Если PHP работает как модуль Apache, переменная используется в аутентификации по протоколу HTTP, для проверки подлинности.

PHP_AUTH_USER

Если PHP работает как модуль Apache, либо как ISAPI IIS, данная переменная содержит имя авторизируемого пользователя при аутентификации по протоколу HTTP.

PHP_AUTH_PW

Если PHP работает как модуль Apache, либо как ISAPI IIS, данная переменная содержит пароль авторизируемого пользователя при аутентификации по протоколу HTTP.

AUTH_TYPE

Если PHP работает как модуль Apache, либо как ISAPI IIS, данная переменная содержит тип используемой аутентификации по протоколу HTTP.

Переменные окружения $_ENV

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_ENV_VARS.

Эти переменные импортируются в глобальное пространство имен PHP, из среды, в которой работает интерпретатор PHP. Число и типы переменных зависят от оболочки, в которой работает PHP, поэтому список этих переменных привести невозможно. Смотрите документацию по оболочке, которую вы используете, чтобы ознакомиться со списком ваших переменных окружения.

Некоторые переменные окружения содержатся в переменных CGI, если вы используете PHP как CGI.

Переменные окружения $_ENV доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_ENV . На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_ENV_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_ENV_VARS и $_ENV — это различные переменные).

Читайте также:  Mercedes benz eqc 400 4matic

HTTP Cookies: $_COOKIE

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_COOKIE_VARS

Ассоциативный массив переменных, передаваемый текущему сценарию посредством HTTP Cookies.

Переменные HTTP Cookies доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_COOKIE . На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_COOKIE_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_COOKIE_VARS и $_COOKIE — это различные переменные).

HTTP GET переменные: $_GET

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_GET_VARS.

Ассоциативный массив переменных, передаваемый текущему сценарию посредством HTTP GET запросов.

Переменные HTTP GET доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_GET . На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_GET_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_GET_VARS и $_GET — это различные переменные).

HTTP POST переменные: $_POST

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_POST_VARS.

Ассоциативный массив переменных, передаваемый текущему сценарию посредством HTTP POST запросов.

Переменные HTTP POST доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_POST . На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_POST_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_POST_VARS и $_POST — это различные переменные).

Переменные File Uploads HTTP: $_FILES

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_POST_FILES.

Ассоциативный массив переменных, передаваемый текущему сценарию посредством HTTP POST запросов.

Переменные HTTP POST доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_FILES . На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_POST_FILES содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_POST_FILES и $_FILES — это различные переменные).

Переменные запросов: $_REQUEST

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP не имеет эквивалентов. Начиная с PHP версии 4.3.0 $_REQUEST включает также $_FILES.

Ассоциативный массив, содержащий $_GET , $_POST , and $_COOKIE

Переменные запросов $_REQUEST доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_REQUEST . На это не влияют даже настойки конфигурации PHP (php.ini).

Переменные сессий $_SESSION

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_SESSION_VARS.

Ассоциативный массив, содержащий переменные сессий, доступные для текущего скрипта. Для получения дополнительной информации, смотрите функции для работы с сессиями.

Переменные сессий доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_SESSION . На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_SESSION_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_SESSION_VARS и $_SESSION — это различные переменные).

Глобальные переменные: $GLOBALS

Глобальные переменные доступны, начиная с PHP3.

Ассоциативный массив, содержащий ссылки на все переменные, которые в настоящее время определены в глобальной области сценария. Имена переменных — ключи массива.

Глобальные переменные доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $GLOBALS . На это не влияют даже настойки конфигурации PHP (php.ini).

Сообщение последней ошибки PHP сценария: $php_errormsg

Переменная $php_errormsg содержит сообщение последней ошибки PHP скрипта.

Эта переменная будет доступна только в пределах области, в которой произошла ошибка, и только если опция track_errors конфигурации включена (по умолчанию она отключена).

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*

code