Вам бонус- начислено 1 монета за дневную активность. Сейчас у вас 1 монета

Серверные переменные $_SERVER в PHP

Лекция



Привет, Вы узнаете о том , что такое серверные переменные $_server в php , Разберем основные их виды и особенности использования. Еще будет много подробных примеров и описаний. Для того чтобы лучше понимать что такое серверные переменные $_server в php , настоятельно рекомендую прочитать все из категории Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend) .

Примечание: Впервые появилась в PHP версии 4.1.0. В более ранних версиях используется переменная$HTTP_SERVER_VARS.

$_SERVER - это суперглобальный массив, содержащий такую информацию, как заголовки, пути, размещение скриптов. Данный массив создается веб-сервером. Нет никиких гарантий, что веб-сервер снабдит данный суперглобальный массив всей предопределенной информацией. За детельной информацией по переменным, содержащихся в данном суперглобальном массиве, обратитесь к спецификации CGI 1.1.

Суперглобальные переменные доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_SERVER. На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_SERVER_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_SERVER_VARS и $_SERVER - это различные переменные).

Вы можете не найти некоторый переменные, которые могут содержаться в массиве $_SERVER, если вы запускаете PHP из коммандной строки.

PHP_SELF

Имя файла в настоящее время выполняющегося сценария, относительно корня документа. Например, $_SERVER ['PHP_SELF'] в сценарии при адресе http://example.com/test.php/foo.bar возвращает /test.php/foo.bar. Предопределенная константа __FILE__ содержит полный путь и имя файла.
Если PHP выполняется из командной строки, эта переменная содержит имя сценария (доступно, начиная с PHP 4.3.0).

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'. Об этом говорит сайт https://intellect.icu . Эта строка содержит информацию о пользовательском клиенте (программное обеспечение клиента), который обращается к странице. Типичный пример: 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.

Переменные окружения $_ENV

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_ENV_VARS.

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

Некоторые переменные окружения содержатся в переменных CGI, если вы используете PHP как CGI.

Переменные окружения $_ENV доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_ENV. На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_ENV_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_ENV_VARS и $_ENV - это различные переменные).

HTTP Cookies: $_COOKIE

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_COOKIE_VARS

Ассоциативный массив переменных, передаваемый текущему сценарию посредством HTTP Cookies.

Переменные HTTP Cookies доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_COOKIE. На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_COOKIE_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_COOKIE_VARS и $_COOKIE - это различные переменные).

HTTP GET переменные: $_GET

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_GET_VARS.

Ассоциативный массив переменных, передаваемый текущему сценарию посредством HTTP GET запросов.

Переменные HTTP GET доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_GET. На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_GET_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_GET_VARS и $_GET - это различные переменные).

HTTP POST переменные: $_POST

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_POST_VARS.

Ассоциативный массив переменных, передаваемый текущему сценарию посредством HTTP POST запросов.

Переменные HTTP POST доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_POST. На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_POST_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_POST_VARS и $_POST - это различные переменные).

Переменные File Uploads HTTP: $_FILES

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_POST_FILES.

Ассоциативный массив переменных, передаваемый текущему сценарию посредством HTTP POST запросов.

Переменные HTTP POST доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_FILES. На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_POST_FILES содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_POST_FILES и $_FILES - это различные переменные).

Переменные запросов: $_REQUEST

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP не имеет эквивалентов. Начиная с PHP версии 4.3.0$_REQUEST включает также $_FILES.

Ассоциативный массив, содержащий $_GET$_POST, and $_COOKIE

Переменные запросов $_REQUEST доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_REQUEST. На это не влияют даже настойки конфигурации PHP (php.ini).

Переменные сессий $_SESSION

Доступны, начиная с PHP версии 4.1.0. В более ранних версиях PHP используйте $HTTP_SESSION_VARS.

Ассоциативный массив, содержащий переменные сессий, доступные для текущего скрипта. Для получения дополнительной информации, смотрите функции для работы с сессиями.

Переменные сессий доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $_SESSION. На это не влияют даже настойки конфигурации PHP (php.ini).

Переменная $HTTP_SESSION_VARS содержит ту же самую начальную информацию, но она не является автоглобальной переменной. (Заметьте, что $HTTP_SESSION_VARS и $_SESSION - это различные переменные).

Глобальные переменные: $GLOBALS

Глобальные переменные доступны, начиная с PHP3.

Ассоциативный массив, содержащий ссылки на все переменные, которые в настоящее время определены в глобальной области сценария. Имена переменных - ключи массива.

Глобальные переменные доступны внутри пользовательских функций. То есть вам не нужно объявлять суперглобальные переменные глобальными внутри пользовательских функций, делая что-то вроде этого: global $GLOBALS. На это не влияют даже настойки конфигурации PHP (php.ini).

Сообщение последней ошибки PHP сценария: $php_errormsg

Переменная $php_errormsg содержит сообщение последней ошибки PHP скрипта.

Эта переменная будет доступна только в пределах области, в которой произошла ошибка, и только если опцияtrack_errors конфигурации включена (по умолчанию она отключена).

В заключение, эта статья об серверные переменные $_server в php подчеркивает важность того что вы тут, расширяете ваше сознание, знания, навыки и умения. Надеюсь, что теперь ты понял что такое серверные переменные $_server в php и для чего все это нужно, а если не понял, или есть замечания, то не стесняйся, пиши или спрашивай в комментариях, с удовольствием отвечу. Для того чтобы глубже понять настоятельно рекомендую изучить всю информацию из категории Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)

создано: 2016-01-25
обновлено: 2021-03-13
132525



Рейтиг 9 of 10. count vote: 2
Вы довольны ?:


Поделиться:

Найди готовое или заработай

С нашими удобными сервисами без комиссии*

Как это работает? | Узнать цену?

Найти исполнителя
$0 / весь год.
  • У вас есть задание, но нет времени его делать
  • Вы хотите найти профессионала для выплнения задания
  • Возможно примерение функции гаранта на сделку
  • Приорететная поддержка
  • идеально подходит для студентов, у которых нет времени для решения заданий
Готовое решение
$0 / весь год.
  • Вы можите продать(исполнителем) или купить(заказчиком) готовое решение
  • Вам предоставят готовое решение
  • Будет предоставлено в минимальные сроки т.к. задание уже готовое
  • Вы получите базовую гарантию 8 дней
  • Вы можете заработать на материалах
  • подходит как для студентов так и для преподавателей
Я исполнитель
$0 / весь год.
  • Вы профессионал своего дела
  • У вас есть опыт и желание зарабатывать
  • Вы хотите помочь в решении задач или написании работ
  • Возможно примерение функции гаранта на сделку
  • подходит для опытных студентов так и для преподавателей



Комментарии


Оставить комментарий
Если у вас есть какое-либо предложение, идея, благодарность или комментарий, не стесняйтесь писать. Мы очень ценим отзывы и рады услышать ваше мнение.
To reply

Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)

Термины: Выполнение скриптов на стороне сервера PHP (LAMP) NodeJS (Backend)