Получить полный URL-адрес в PHP

Retrieve Full Url Php



В PHP могут использоваться два типа глобальных переменных: суперглобальная переменная и пользовательская переменная. $ _SERVER - это суперглобальная переменная массива, которая используется для получения полного пути к текущей странице. Протокол (HTTP или HTTPS) URL-адреса также необходим для получения полного URL-адреса страницы. Если $ _SERVER [‘HTTPS’] возвращается 'на', тогда HTTPS будет использоваться с URL-адресом, в противном случае HTTP будет использоваться. Как получить полный URL-адрес текущей страницы с помощью $ _SERVER array был объяснен в этом руководстве.

Необходимые переменные

Следующие суперглобальные переменные необходимы для определения URL-адреса текущей страницы.







Суперглобальные переменные Цели
$ _SERVER [‘HTTPS’] Он возвращается на если в URL текущей страницы используется протокол HTTPS.
$ _SERVER [‘HTTP_HOST’] Возвращает имя сервера текущей страницы.
$ _SERVER [‘REQUEST_URI’] Возвращает запрошенное имя ресурса.
$ _SERVER [‘SERVER_PORT’] Возвращает номер порта сервера.
$ _SERVER [‘QUERY_STRING’] Он возвращает значение строки запроса, если оно существует в URL-адресе текущей страницы.

Пример 1. Отображение URL-адреса текущей страницы с помощью условного оператора.

В следующем примере показано, как можно использовать условный оператор для получения протокола, используемого в URL-адресе текущей страницы. Создайте файл PHP со следующим скриптом.



Значение $ _SERVER [‘HTTP_HOST’] используется для получения доменного имени текущего URL. Значение $ _SERVER [‘REQUEST_URI’] используется для получения имени запрошенного ресурса. ушел) функция используется, чтобы проверить, установлен ли $ _SERVER [‘HTTPS’] или нет, и если он установлен, то проверьте значение $ _SERVER [‘HTTPS’], является ли оно на или не. Затем значения этих трех переменных объединяются с «//:» для получения полного URL-адреса текущей страницы.




// Считываем доменное имя текущей страницы
$ домен знак равно $ _SERVER[HTTP_HOST];
// Читаем запрошенный ресурс
$ ресурс знак равно $ _SERVER['REQUEST_URI'];
// Узнаем протокол текущего url
если( ушел ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS'] === 'на')
$ протокол знак равно https;
еще
$ протокол знак равно 'http';

// Объединяем все части, чтобы получить полный URL-адрес
$ url знак равно $ протокол.': //'.$ домен.$ ресурс;
// Распечатываем URL-адрес текущей страницы
выбросил '

URL-адрес текущего
страница:

'
. $ url;?>

Выход:





Следующий вывод появится после запуска сценария с сервера. Значение $ _SERVER [‘HTTPS’] не равно на для локального сервера. Таким образом, вывод показывает http протокол для текущего URL.



Пример 2: отображение URL-адреса текущей страницы с помощью тернарного оператора

В следующем примере показан способ получения полного URL-адреса текущей страницы с помощью тернарного оператора. Создайте файл PHP со следующим скриптом.

Если условие используется в предыдущем примере, чтобы узнать, какой протокол используется в URL-адресе текущей страницы. Та же задача выполняется с помощью тернарного оператора в этом скрипте. ушел) функция используется, чтобы проверить, установлен ли $ _SERVER [‘HTTPS’] или нет, и если значение $ _SERVER [‘HTTPS’] на, тогда тернарный оператор вернет HTTPS, иначе он вернет HTTP. Остальные части URL-адреса извлекаются и печатаются, как в предыдущем примере.


// Узнаем протокол текущего url
$ протокол знак равно ( ушел ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
== 'на'?https : 'http');
// Считываем доменное имя текущей страницы
$ домен знак равно $ _SERVER[HTTP_HOST];
// Читаем запрошенный ресурс
$ ресурс знак равно $ _SERVER['REQUEST_URI'];
// Объединяем все части, чтобы получить полный URL-адрес
$ url знак равно $ протокол.': //'.$ домен.$ ресурс;
// Распечатываем URL-адрес текущей страницы
выбросил '

URL-адрес текущей страницы:

'
. $ url;
?>

Выход:

Следующий вывод появится после запуска сценария с сервера. Значение $ _SERVER [‘HTTPS’] не равно на для локального сервера. Таким образом, выходные данные показывают протокол HTTP для текущего URL-адреса.

Пример 3: Отображение URL-адреса текущей страницы на основе номера порта

В двух предыдущих примерах значение $ _SERVER [‘HTTPS’] используется для определения протокола текущего URL-адреса страницы, и для URL-адреса не используется строка запроса. В следующем примере показано, как можно использовать переменную $ _SERVER [‘SERVER_PORT’] для определения протокола и получения полного URL-адреса со строкой запроса. Создайте файл PHP со следующим скриптом.

Здесь несколько логических условий и тернарный оператор используются для определения протокола. Если значение $ _SERVER [‘HTTPS’] пустое или установлено на выключенный, затем он проверит значение $ _SERVER [‘SERVER_PORT’], чтобы узнать протокол текущего URL. Переменная $ _SERVER [‘QUERY_STRING’] используется для извлечения значения строки запроса из URL.


// Узнаем протокол текущего url
$ протокол знак равно ((! пустой ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
знак равно 'выключенный') || $ _SERVER['ПОРТ СЕРВЕРА'] == 443)?https: // : 'http: //';
// Считываем доменное имя текущей страницы
$ домен знак равно $ _SERVER[HTTP_HOST];
// Читаем запрошенный ресурс
$ ресурс знак равно $ _SERVER['REQUEST_URI'];
// Считываем значение строки запроса
$ запрос знак равно $ _SERVER['СТРОКА ЗАПРОСА'];
// Объединяем все части, чтобы получить полный URL-адрес
$ url знак равно $ протокол.$ домен.$ ресурс;
// Распечатываем URL-адрес текущей страницы
выбросил '

Полный URL-адрес текущей страницы:

'
. $ url;
// Распечатываем часть строки запроса
выбросил '

Строка запроса:

'
. $ запрос;
?>

Выход:

Следующий вывод появится после выполнения вышеуказанного скрипта с сервера без какой-либо строки запроса. В URL-адресе нет строки запроса. Таким образом, на выходе отображается пустая строка запроса.

Следующий вывод появится после выполнения вышеуказанного сценария с сервера со строкой запроса. Следующий вывод показывает URL-адрес со строкой запроса и строкой запроса отдельно.

Заключение

В этом руководстве на различных примерах показаны различные способы получения полного URL-адреса текущей страницы. В этом руководстве также показан способ разделения URL-адреса и строки запроса. Надеюсь, это руководство поможет читателям узнать, как читать полный URL-адрес текущей страницы с помощью сценария PHP.