Учебник РНР
Назад Глава 7. Переменные Вперёд

Предопределённые переменные

В PHP имеется большое количество предопределённых переменных, доступных любому скрипту. Многие эти переменные, однако, невозможно полностью задокументировать, так как они зависят от сервера, на котором происходит работа, его версии и установок и других факторов. Некоторые из этих переменных будут недоступны при запуске РНР из командной строки. Список этих переменных см. в приложении Предопределённые переменные.

Предупреждение!

В PHP 4.2.0 и позднее, набор по умолчанию предопределённых переменных, доступных в глобальной области видимости, изменён. Отдельные переменные ввода и сервера по умолчанию больше не размещаются непосредственно в глобальной области видимости; они размещаются в суперглобальных массивах.

Вы можете форсировать старое поведение, установив register_globals в 'On' в вашем файле php.ini.

Дополнительно см. PHP 4.1.0 Release Announcement.

Начиная с версии 4.1.0, PHP предоставляет набор предопределённых массивов, содержащих переменные web-сервера (если они имеются), окружения и пользовательского ввода. Эти новые массивы более специализированы, так как автоматически являются глобальными - т.е. автоматически доступны в любой области видимости. Поэтому их часто называют 'автоглобалы' или 'суперглобалы'. (В PHP нет механизма реализации пользовательских суперглобалов.)
Суперглобалы перечислены ниже; см. также список их содержимого и обсуждение предопределённых переменных PHP и их природы в приложении Предопределённые переменные.

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

Суперглобалы PHP
$GLOBALS

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

$_SERVER

Переменные, установленные web-сервером или как-либо иначе относящиеся к среде окружения выполнения текущего скрипта. Аналогичен старому массиву $HTTP_SERVER_VARS (который ещё доступен, но не рекомендуется).

$_GET

Переменные, предоставляемые скрипту через HTTP GET. Аналогичен старому массиву $HTTP_GET_VARS (который ещё доступен, но не рекомендуется).

$_POST

Переменные, предоставляемые скрипту через HTTP POST. Аналогичен старому массиву $HTTP_POST_VARS (который ещё доступен, но не рекомендуется).

$_COOKIE

Переменные, предоставляемые скрипту через HTTP cookies. Аналогичен старому массиву $HTTP_COOKIE_VARS (который ещё доступен, но не рекомендуется).

$_FILES

Переменные, предоставляемые скрипту через HTTP post-загрузку файлов. Аналогичен старому массиву $HTTP_POST_FILES (который ещё доступен, но не рекомендуется). См. дополнительно загрузка методом POST.

$_ENV

Переменные, предоставляемые скрипту через среду окружения. Аналогичен старому массиву $HTTP_ENV_VARS (который ещё доступен, но не рекомендуется).

$_REQUEST

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

Примечание: при запуске из командной строки этот массив не включит вхождения argv и argc; они представлены в массиве $_SERVER. Наличие и порядок включения переменных в этот массив определяются в соответствии с директивой конфигурации variables_order.
Этот массив не имеет прямых аналогов в версиях PHP до 4.1.0.

$_SESSION

Переменные, зарегистрированные на данный момент в сессии скрипта. Аналогичен старому массиву $HTTP_SESSION_VARS (который ещё доступен, но не рекомендуется). См. также раздел Функции обслуживания сессий.


Назад Оглавление Вперёд
Переменные Вверх Область видимости переменной


Наш баннер
Вы можете установить наш баннер на своем сайте или блоге, скопировав этот код:
RSS новости