Любому запускаемому скрипту PHP предоставляет большое количество предопределенных переменных. Однако, многие из этих переменных не могут быть полностью задокументированы, поскольку они зависят от запущенного сервера, его версии и настроек, а также других факторов. Некоторые из этих переменных не доступны, когда PHP запущен из командной строки. Перечень этих переменных смотрите в разделе Зарезервированные предопределенные переменные.
Внимание |
Начиная с PHP 4.2.0, значение директивы register_globals по умолчанию
установлено в off (отключено). Это большое изменение
в PHP. Положение register_globals в off делает
предопределенные переменные доступными в глобальной области видимости.
Например, чтобы получить Дополнительную информацию, связанную с этим изменением, вы можете получить, прочитав описание register_globals в разделе о настройках, главу о безопасности Использование Register Globals , а также сообщения о выпусках PHP 4.1.0 и 4.2.0. Использование доступных зарезервированных предопределенных переменных PHP, таких как суперглобальные массивы, является предпочтительным. |
Начиная с версии 4.1.0, PHP предоставляет дополнительный набор
предопределенных массивов, содержащих переменные web-сервера (если
они доступны), окружения и пользовательского ввода. Эти новые
массивы являются особыми, поскольку они автоматически глобальны--то
есть, автоматически доступны в любой области видимости. По этой
причине они также известны как 'автоглобальные' или 'суперглобальные'
переменные. (В PHP нет механизма определяемых пользователем
суперглобальных переменных.) Суперглобальные переменные перечислены
ниже; однако, перечисление их содержимого и дальнейшее обсуждение
предопределенных переменных PHP и их сути смотрите в разделе
Зарезервированные
предопределенные переменные. Также вы заметите, что старые
предопределенные переменные ($HTTP_*_VARS
) все
еще существуют.
Начиная с PHP 5.0.0, длинные
предопределенные переменные
массивов PHP могут быть отключены директивой
register_long_arrays.
Переменные переменных: Суперглобальные переменные не могут быть переменными переменных.
Если некоторые из переменных в variables_order не установлены, соответствующие им предопределенные массивы также останутся пустыми.
Суперглобальные переменные PHP
Содержит ссылку на каждую переменную, доступную в данный момент
в глобальной области видимости скрипта. Ключами этого массива
являются имена глобальны переменных.
$GLOBALS
существует, начиная с PHP 3.
Переменные, установленные web-сервером либо напрямую связанные
с окружением выполнения текущего скрипта. Аналог старого
массива $HTTP_SERVER_VARS
(который по-прежнему
доступен, но не рекомендуется).
Переменные, передаваемые скрипту через HTTP GET. Аналог старого
массива $HTTP_GET_VARS
(который по-прежнему
доступен, но не рекомендуется).
Переменные, передаваемые скрипту через HTTP POST. Аналог старого
массива $HTTP_POST_VARS
(который по-прежнему
доступен, но не рекомендуется).
Переменные, передаваемые скрипту через HTTP cookies. Аналог старого
массива $HTTP_COOKIE_VARS
(который
по-прежнему доступен, но не рекомендуется).
Переменные, передаваемые скрипту через HTTP post-загрузку файлов.
Аналог старого массива $HTTP_POST_FILES
(который
по-прежнему доступен, но не рекомендуется). Для дополнительной
информации смотрите Загрузка методом
POST.
Переменные, передаваемые скрипту через окружение. Аналог старого
массива $HTTP_ENV_VARS
(который по-прежнему
доступен, но не рекомендуется).
Переменные, передаваемые скрипту через механизмы ввода GET, POST и COOKIE, и которым, следовательно, нельзя доверять. Наличие и порядок включения переменных в этот массив определяется в соответствии с директивой конфигурации PHP variables_order. Этот массив не имеет прямых аналогов в версиях PHP до 4.1.0. Смотрите также import_request_variables().
Предостережение |
Начиная с PHP 4.3.0, информация о файле из |
Замечание: При запуске из командной строки , этот массив не будет содержать записей
argv
иargc
; они находятся в массиве$_SERVER
.
Переменные, зарегистрированные на данный момент в сессии скрипта.
Аналог старого массива $HTTP_SESSION_VARS
(который
по-прежнему доступен, но не рекомендуется). Дополнительную
информацию смотрите в разделе Функции обработки сессии.
Пред. | Начало | След. |
Переменные | Уровень выше | Область видимости переменной |