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

Ответить
Аватара пользователя
Distructor
Администратор
Сообщения: 1607
Зарегистрирован: 28.12.2009

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

    Суперглобальные переменные доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_SERVER. На это не влияют даже настойки конфигурации PHP (php.ini).
    Переменные массива $_SERVER
    PHP_SELF
    • Имя файла в настоящее время выполняющегося сценария, относительно корня документа. Например, $_SERVER ['PHP_SELF'] в сценарии при адресе _http://example.com/test.php/foo.bar возвращает /test.php/foo.bar. Предопределенная константа __FILE__ содержит полный путь и имя файла. Если PHP выполняется из командной строки - содержит имя сценария (доступно, начиная с PHP 4.3.0).
    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 (до версии 4.1 использовалась переменная $HTTP_ENV_VARS).
  • Эти переменные импортируются в глобальное пространство имен PHP, из среды, в которой работает интерпретатор PHP. Число и типы переменных зависят от оболочки, в которой работает PHP, поэтому список этих переменных привести невозможно. Смотрите документацию по оболочке, которую вы используете, чтобы ознакомиться со списком ваших переменных окружения.

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

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

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

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

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

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

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

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

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

    Эта переменная будет доступна только в пределах области, в которой произошла ошибка, и только если опция track_errors в php.ini включена (по умолчанию она отключена).
источник http://php.su/learnphp/vars/

Ответить