Вы их уже видели, если следили за ними. В 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.

Прочитайте все истории Дино Каджика (и тысяч других авторов на Medium). Ваш членский взнос напрямую поддерживает Дино Кайича и других писателей, которых вы читаете. Вы также получите полный доступ ко всем историям на Medium.