супер глобальная переменная php
Суперглобальный массивы были введены в PHP 4.1.0 и являются встроенными переменные, которые всегда доступны во всех областях.
PHP Суперглобальные переменные:
В этой главе будут описаны некоторые из суперглобальных массивах, а остальное будет объясняется в последующих главах.
Все PHP глобальные переменные хранятся в массиве [index]. index содержит имя переменной.
Пример
Пример
Элемент/Код | Описание |
---|---|
$_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
Примечание: Впервые появилась в PHP версии 4.1.0. В более ранних версиях используется переменная $HTTP_SERVER_VARS.
Вы можете не найти некоторый переменные, которые могут содержаться в массиве $_SERVER, если вы запускаете PHP из коммандной строки.
PHP_SELF
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.
Эти переменные импортируются в глобальное пространство имен PHP, из среды, в которой работает интерпретатор PHP. Число и типы переменных зависят от оболочки, в которой работает PHP, поэтому список этих переменных привести невозможно. Смотрите документацию по оболочке, которую вы используете, чтобы ознакомиться со списком ваших переменных окружения.
Некоторые переменные окружения содержатся в переменных CGI, если вы используете PHP как CGI.
Ассоциативный массив переменных, передаваемый текущему сценарию посредством HTTP Cookies.
Ассоциативный массив переменных, передаваемый текущему сценарию посредством HTTP GET запросов.
Ассоциативный массив переменных, передаваемый текущему сценарию посредством HTTP POST запросов.
Ассоциативный массив переменных, передаваемый текущему сценарию посредством HTTP POST запросов.
Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP не имеет эквивалентов. Начиная с PHP версии 4.3.0 $_REQUEST включает также $_FILES.
Ассоциативный массив, содержащий переменные сессий, доступные для текущего скрипта. Для получения дополнительной информации, смотрите функции для работы с сессиями.
Глобальные переменные доступны, начиная с PHP3.
Переменная $php_errormsg содержит сообщение последней ошибки PHP скрипта.
Эта переменная будет доступна только в пределах области, в которой произошла ошибка, и только если опция track_errors конфигурации включена (по умолчанию она отключена).
PHP | Суперглобальные
Это специально определенные переменные-массивы в PHP, которые упрощают получение информации о запросе или его контексте. Суперглобалы доступны по всему вашему сценарию. Эти переменные могут быть доступны из любой функции, класса или любого файла без выполнения каких-либо специальных задач, таких как объявление какой-либо глобальной переменной и т. Д. Они в основном используются для хранения и получения информации с одной страницы на другую и т. Д. В приложении.
Ниже приведен список суперглобальных переменных, доступных в PHP:
Давайте теперь подробнее узнаем о некоторых из этих суперглобалов:
Выход :
form method = «post» action=» «>
NAME: input type = «text» name = «fname» >
button type = «submit» >SUBMIT button >
if ($_SERVER[«REQUEST_METHOD»] == «POST») <
$ name = htmlspecialchars ($_REQUEST[‘fname’]);
echo «Name is empty»;
Выход :
$ _POST : это суперглобальная переменная, используемая для сбора данных из формы HTML после ее отправки. Когда форма использует метод post для передачи данных, данные не отображаются в строке запроса, из-за чего в этом методе поддерживаются уровни безопасности.
form method = «post» action=» «>
label for = «name» >Please enter your name: label >
input name = «name» type = «text» > br >
label for = «age» >Please enter your age: label >
input name = «age» type = «text» > br >
input type = «submit» value = «Submit» >
button type = «submit» >SUBMIT button >
Выход :
body bgcolor = «cyan» >
This is «.$name.» of «.$city.» h1 > br >»;
img src = «2.jpg» alt = «nanilake» height = «400» width = «500» />
Суперглобальные переменные были введены в PHP 4.1.0 и представляют собой встроенные переменные, которые всегда доступны во всех областях.
Некоторые предопределенные переменные в PHP являются «суперглобальными», что означает, что они всегда доступны, независимо от области видимости, и вы можете получить к ним доступ из любой функции, класса или файла, не делая ничего особенного.
Суперглобальные переменные PHP:
В следующих главах будут описаны некоторые суперглобальные переменные, а остальные будут объяснены в следующих главах.
ПАЛИТРА ЦВЕТОВ
ПРИСОЕДИНЯЙТЕСЬ!
Получите ваш
Сертификат сегодня!
Связь с админом
Если вы хотите сообщить об ошибке, а также внести предложение о работе сайта, добавить объявление или рекламу на сайт, не стесняйтесь отправить админу электронное письмо на email:
Топ Учебники
Топ Справочники
Топ Примеры
Веб Сертификаты
Этот сайт оптимизирован для обучения и тестирования. Примеры могут быть упрощены для улучшения чтения и базового понимания. Учебные пособия, ссылки и примеры постоянно пересматриваются, чтобы избежать ошибок, но мы не можем гарантировать полную правильность и работоспособность всего контента. Используя этот сайт, вы соглашаетесь с тем, что прочитали и приняли условия использования, cookie и политику конфиденциальности.
Также вы можете абсолютно бесплатно скачать офлайн версию сайта W3Schools на русском архивом с GitHub и пользоваться локально на своём компьютере.
Также доступна версия сайта W3Schools на украинском языке.
Copyright 1999-2021 by Refsnes Data. All Rights Reserved.
Сайт работает на фреймворке W3.CSS.
Суперглобальные массивы
Типы суперглобальных массивов
Cуперглобальные массивы не ограничены областями видимости функций и классов и являются глобальными. Опишем полный список таких массивов:
Cookie
Для установки Cookie достаточно воспользоваться функцией Setcookie, которая принимает имя Cookie и значение; время в секундах, прошедших с 0 часов 00 минут 1 января 1970 года; путь и домен, по которому доступен Cookie; способ передачи через протокол HTTP или HTTPS и возможность видимости в JavaScript.
После установки Cookie, его значение можно получить на всех страницах Wеb-приложения, обращаясь к суперглобальному массиву $_COOKIE и используя в качестве ключа имя Cookie.
Если выставляется время жизни Cookie, тогда данные записываются на жестком диске клиента, иначе Cookie размещается в оперативной памяти и действует только до конца сеанса, то есть до того момента, пока пользователь не закроет окно браузера. В этом случае говорят о сессионном Cookie.
Продемонстрируем работу с Cookie без установки времени жизни:
В данном примере, при каждом обращении к странице устанавливается новое значение Cookie с именем Counter. При этом значение Cookie вычисляется при помощи функции Counter. В случае первого обращения значение $_COOKIE[‘counter’] не установлено, функция возвращает значение 1, при последующих обращениях, когда посетитель присылает значение Cookie с каждым запросом, $_COOKIE[‘counter’] будет возвращать присланное значение, которое будет увеличено на единицу.
Сессии
После инициализации сессии появляется возможность сохранять информацию в суперглобальном массиве $_SESSION:
На страницах, где происходит вызов функции Session_start, значения данных переменных можно извлечь из суперглобального массива $_SESSION.
Массив $_SESSION перед сохранением в файл подвергается сериализации, поэтому хранить сериализованные данные в сессии крайне не рекомендуется, то есть массивы, два раза подряд подвергающиеся действию функции Serialize, зачастую восстановлению не подлежат.
Переменные окружения
Под переменными окружения разумеется определенные параметры, которые могут задаваться на уровне командной оболочки. Для этого необходимо обратиться к суперглобальному массиву $_ENV. Однако, для того, чтобы значение переменной окружения появилось в $_ENV, необходимо предпринять несколько шагов.
В файле php.ini следует обнаружить директиву Variables_order и убедиться, что она содержит в своем значении букву Е. Директива определяет, какие суперглобальные массивы будут доступны скрипту.
В примере выше значение директивы содержит символы Е, G, Р, С и S, следовательно, в скрипте будут доступны суперглобальные массивы $_ENV, $_GET, $_POST, $_COOKIE и $_SERVER. Стоит убрать одну из букв, и соответствующий суперглобальный массив будет всегда пустым. После того как переменная окружения передана серверу, к ней можно обратиться из РНР-скрипта как к обычному значению массива:
Массив $_ENV отвечает за внешние переменные окружения. Однако РНР содержит множество внутренних параметров, параметров для формирования НТТР-заголовков ответа, а также параметров, извлеченных из НТТР заголовков, присланных клиентом. Все они содержатся в суперглобальном массиве $_SERVER.
Элемент $_SERVER[‘DOCUMENT_ROOT’] содержит путь к корневому каталогу сервера. При выполнении скрипта в виртуальном хосте, в данном элементе, как правило, указывается путь к корневому каталогу виртуального хоста.
В элементе $_SERVER[‘HTTP_ACCEPT’] описываются предпочтения клиента относительно типа документа. Содержимое этого элемента извлекается из НТТР заголовка Accept, который присылает клиент серверу. Заголовок Accept позволяет уточнить медиатип, который предпочитает получить клиент в ответ на свой запрос. Например:
Символ * используется для группирования типов в медиаряд. К примеру, символами */* задается использование всех типов, а обозначение type/* определяет использование всех подтипов выбранного типа type. Медиатипы отделяются друг от друга запятыми.
В элементе $_SERVER[‘HTTP_HOST’] содержится имя сервера, которое, как правило, совпадает с доменным именем сайта, расположенного на сервере.
В элемент $_SERVER[‘HTTP_REFERER’] помещается адрес, с которого посетитель пришел на данную страницу. Переход должен осуществляться по ссылке.
Элемент $_SERVER[‘HTTP_USER_AGENT’] содержит информацию о типе и версии браузера и операционной системы посетителя. Например:
В элементе $_SERVER[‘REMOTE_ADDR’] помещается IР-адрес клиента. При тестировании на локальной машине этот адрес будет равен 127.0.0.1. Однако при тестировании в сети переменная вернет IР-адрес клиента или последнего прокси-сервера, через который клиент попал на сервер.
В элементе $_SERVER[‘SCRIPT_FILENAME’] помещается абсолютный путь к файлу от корня диска.
В элементе $_SERVER[‘SERVER_NAME’] помещается имя сервера, как правило, совпадающее с доменным именем сайта, расположенного на нем.
Помимо описанных параметров, суперглобальный массив $_SERVER позволяет выяснить еще ряд параметров сервера, например, прослушиваемый порт, тип Wеb-сервера, версию НТТР-протокола, имя скрипта, метод и параметры запроса и другие. Для просмотра всех параметров достаточно вывести их на экран функцией Print_r: