Те, кто более-менее серьёзно изучал PHP знают, что существует один очень полезный глобальный массив в PHP , который называется $_SERVER . И вот хотелось бы в этом материале разобрать самые популярные ключи и их значения в этом массиве, так как их знание просто обязательно даже для начинающего PHP-программиста .
Те, кто более-менее серьёзно изучал PHP знают, что существует один очень полезный глобальный массив в PHP, который называется $_SERVER. И вот хотелось бы в этом материале разобрать самые популярные ключи и их значения в этом массиве, так как их знание просто обязательно даже для начинающего PHP-программиста.
Прежде чем приступить к глобальному массиву $_SERVER в PHP, сразу сделаю небольшую подсказку. Есть замечательная функция, встроенная в PHP, которая называется phpinfo(). Давайте сразу приведу пример её использования:
<?php
phpinfo();
?>
В результате выполнения этого просто скрипта Вы увидите огромную таблицу с различными настройками интерпритатора PHP, в том числе, ближе к концу будет таблица значений глобального массива $_SERVER. Там будут перечислены все ключи и все соответствующие им значения. Чем это может Вам помочь? А тем, что если Вам потребуется то или иное значение, и Вы забудете, как называется ключ, то с помощью функции phpinfo() Вы можете всегда вспомнить его название. В общем, Вы выполните этот скрипт и сразу меня поймёте.
А теперь давайте перейдём к самым популярным ключам массива $_SERVER:
- HTTP_USER_AGENT - этот ключ позволяет узнать характеристику клиента. В большинстве случаев, это, безусловно, браузер, однако, не всегда. И опять же, если браузер, то какой, вот в этой переменной об этом можно и узнать.
- HTTP_REFERER - содержит абсолютный путь к тому файлу (PHP-скрипт, HTML-страница), с которого перешли на данный скрипт. Грубо говоря, откуда пришёл клиент.
- SERVER_ADDR - IP-адрес сервера.
- REMOTE_ADDR - IP-адрес клиента.
- DOCUMENT_ROOT - физический путь к корневой директории сайта. Это опция задаётся через конфигурационный файл сервера Apache.
- SCRIPT_FILENAME - физический путь к вызванному скрипту.
- QUERY_STRING - весьма полезное значение, которое позволяет получить строку с запросом, а дальше можно заниматься парсингом этой строки.
- REQUEST_URI - ещё более полезное значение, которое содержит не только сам запрос, но и вместе с ним относительный путь к вызываемому скрипту от корня. Это очень часто используется для удаления дублирования с index.php, то есть когда у нас такой URL: "http://mysite.ru/index.php" и "http://mysite.ru/" ведут на одну страницу, а URLы разные, следовательно, дублирование, что плохо скажется на поисковой оптимизации. И вот с помощью REQUEST_URI мы можем определить: с index.php или нет был вызван скрипт. И можем сделать редирект с index.php (если он присутствовал в REQUEST_URI) на без index.php. В результате, при передаче такого запроса: "http://mysite.ru/index.php?id=5", у нас будет происходить редирект на URL: "http://mysite.ru/?id=5". То есть мы избавились от дублирования, удалив из URL этот index.php.
- SCRIPT_NAME - относительный путь к вызываемому скрипту.
Пожалуй, это все элементы глобального массива $_SERVER в PHP, которые используются регулярно. Их надо знать и уметь использовать, когда это необходимо.
