Вы их уже видели, если следили за ними. В PHP их несколько, и мы рассмотрим некоторые из наиболее распространенных. В предыдущей статье мы рассмотрели переменные массива $_GET
и $_POST
. PHP автоматически получает доступ к переменным отправки формы, поскольку они добавляются в переменную $_POST
. Давайте углубимся в наиболее распространенные переменные.
$_СЕРВЕР
Переменная $_SERVER
содержит некоторую общую информацию, которая может понадобиться вашему приложению. Массив содержит такую информацию, как заголовки, пути и расположение скриптов. Существуют предопределенные клавиши, которые вы можете вызывать, и они содержат информацию о среде вашего приложения.
PHP_SELF
: Ключ содержит имя файла текущего скрипта. Например, если вы должны посетить https://dinocajic.com/pages/dino-page.php, вызов $_SERVER['PHP_SELF']
даст pages/dino-page.php
.
SERVER_ADDR
: возвращает IP-адрес сервера. Например, 172.15.0.2.
REQUEST_METHOD
: показывает, какой метод использовался для доступа к странице. то есть get
, post
, put
, head
.
DOCUMENT_ROOT
: корень документа, в котором выполняется текущий скрипт. Например, /var/www/html
.
HTTP_HOST
: показывает хост. то есть 127.0.0.1
HTTP_REFERER
: показывает, с какой страницы пользователь перешел на эту страницу. Например, если пользователь был на странице dinocajic.com/about
и щелкнул ссылку, ведущую на страницу dinocajic.com/contact
, реферером будет страница about
.
REMOTE_ADDR
: показывает IP-адрес пользователя, просматривающего страницу.
Доступно довольно много вариантов. Полный список см. в Документации по PHP. Вы также можете исследовать, просто var_dumping переменную.
var_dump($_SERVER); array (size=32) 'HTTP_HOST' => string '0.0.0.0' (length=7) 'HTTP_CONNECTION' => string 'keep-alive' (length=10) 'HTTP_CACHE_CONTROL' => string 'max-age=0' (length=9) 'HTTP_DNT' => string '1' (length=1) 'HTTP_UPGRADE_INSECURE_REQUESTS' => string '1' (length=1) 'HTTP_USER_AGENT' => string 'Mozilla/5.0...' (length=117) 'HTTP_ACCEPT' => string 'text/html,application/...' (length=135) 'HTTP_ACCEPT_ENCODING' => string 'gzip, deflate' (length=13) 'HTTP_ACCEPT_LANGUAGE' => string 'en-US,en;q=0.9' (length=14) 'PATH' => string '/usr/local/sbin:/usr/local/bin...' (length=60) 'SERVER_SIGNATURE' => string '<address>Apache/2.4...' (length=68) 'SERVER_SOFTWARE' => string 'Apache/2.4.41 (Ubuntu)' (length=22) 'SERVER_NAME' => string '0.0.0.0' (length=7) 'SERVER_ADDR' => string '175.16.0.2' (length=10) 'SERVER_PORT' => string '80' (length=2) 'REMOTE_ADDR' => string '175.14.0.1' (length=10) 'DOCUMENT_ROOT' => string '/var/www/html' (length=13) 'REQUEST_SCHEME' => string 'http' (length=4) 'CONTEXT_PREFIX' => string '' (length=0) 'CONTEXT_DOCUMENT_ROOT' => string '/var/www/html' (length=13) 'SERVER_ADMIN' => string 'webmaster@localhost' (length=19) 'SCRIPT_FILENAME' => string '/var/www/html/75...' (length=43) 'REMOTE_PORT' => string '62844' (length=5) 'GATEWAY_INTERFACE' => string 'CGI/1.1' (length=7) 'SERVER_PROTOCOL' => string 'HTTP/1.1' (length=8) 'REQUEST_METHOD' => string 'GET' (length=3) 'QUERY_STRING' => string '' (length=0) 'REQUEST_URI' => string '/75%20Global%20Variables/' (length=25) 'SCRIPT_NAME' => string '/75 Global Variables/index..' (length=30) 'PHP_SELF' => string '/75 Global Variables/index.php' (length=30) 'REQUEST_TIME_FLOAT' => float 1666177056.2562 'REQUEST_TIME' => int 1666177056
$_GET
Захватывает данные из параметров URL, которые передаются сценарию. Например, dinocajic.com/?page=contact. В этом случае page
будет добавлено в качестве ключа, а contact
будет значением, отображаемым при вызове $_GET['page']
.
$_POST
Подобно ассоциативному массиву $_GET
, ассоциативный массив $_POST
содержит пары ключ/значение из отправленных данных формы. Например, когда пользователь вводит данные в поле ввода <input type="text" name="first_name">
, данные сохраняются в массиве $_POST
. Вызов $_POST[‘first_name’]
дает все, что вы ввели, то есть Dino
.
$_FILES
Мы еще не рассматривали отправку файлов, но когда файлы отправляются через форму, вы можете получить доступ к данным файла через ассоциативный массив $_FILES
. Мы рассмотрим загрузку файлов в следующей статье.
$_ЗАПРОС
Содержит содержимое ассоциативных массивов $_GET
, $_POST
и $_COOKIE
. Это означает, что вы можете использовать как $_REQUEST
, так и $_POST
для доступа, например, к одним и тем же именам.
$_СЕССИЯ
Сохраняет данные сеанса. Вскоре мы рассмотрим возможность хранения данных на сервере, доступных для разных сценариев для определенного пользовательского сеанса.
$_COOKIE
Сеансы хранят данные на стороне сервера, а переменная cookie позволяет извлекать данные со стороны клиента. Мы рассмотрим различия между данными сеанса и данными cookie в следующей статье.
$_ENV
Сохраняет переменные среды. Когда мы смотрим на Laravel, переменные среды используются для настройки конфигурации приложения и весьма полезны.
Краткое содержание
Это одни из наиболее распространенных предопределенных переменных PHP. Полный список см. в PHP docs. Я хотел перечислить их здесь в качестве введения для будущих статей, а также потому, что мы рассмотрели отправку форм в предыдущей статье.
Дино Кайич в настоящее время является руководителем отдела информационных технологий в компаниях LSBio (LifeSpan BioSciences, Inc.), Absolute Antibody, Kerafast, Everest BioTech, Nordic MUbio и Exalpha. Он также является генеральным директором MyAutoSystem. Он имеет более чем десятилетний опыт разработки программного обеспечения. У него есть B.S. в области компьютерных наук и несовершеннолетнего в области биологии. Его опыт включает в себя создание приложений для электронной коммерции на уровне предприятия, разработку программного обеспечения на основе исследований и содействие распространению знаний посредством письма.
Вы можете связаться с ним в LinkedIn, подписаться на него в Instagram или подписаться на его публикацию в Medium.