Необходими променливи
Следните суперглобални променливи са необходими, за да се намери 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'] се използва за получаване на името на заявения ресурс. isset () функцията се използва за проверка дали $ _SERVER ['HTTPS'] е набор или не, и ако е зададен, тогава проверете стойността на $ _SERVER ['HTTPS'] дали е На или не. След това стойностите на тези три променливи се комбинират с '//:' за извличане на пълния URL адрес на текущата страница.
// Прочетете името на домейна на текущата страница$ домейн = $ _SERVER ['HTTP_HOST'];
// Прочетете заявения ресурс
$ ресурс = $ _SERVER ['REQUEST_URI'];
// Разберете протокола на текущия url
if (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS'] === 'on')
$ протокол = "https";
друго
$ протокол = "http";
// Комбинирайте всички части, за да получите пълния URL адрес
$ url = $ протокол.": //".$ домейн.$ ресурс;
// Отпечатваме URL адреса на текущата страница
ехо "
URL адресът на текущия
страницата е:
". $ url;?> Изход:
Следният изход ще се появи след стартиране на скрипта от сървъра. Стойността на $ _SERVER ['HTTPS'] не е На за локалния сървър. Така че изходът показва http протокол за текущия URL адрес.
Пример 2: Показване на URL адреса на текущата страница с помощта на тернарен оператор
Следващият пример показва начина за получаване на пълния URL адрес на текущата страница с помощта на тернарния оператор. Създайте PHP файл със следния скрипт.
Ако условието се използва в предишния пример, за да се разбере кой протокол се използва в URL адреса на текущата страница. Същата задача се прави с помощта на тернарния оператор в този скрипт. isset () функцията се използва за проверка дали $ _SERVER ['HTTPS'] е набор или не и дали стойността на $ _SERVER ['HTTPS'] е На, тогава троичният оператор ще върне HTTPS, в противен случай ще върне HTTP. Останалите части на URL адреса се извличат и отпечатват като предишния пример.
// Разберете протокола на текущия url$ protocol = (isset ($ _ 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 ['SERVER_PORT'] == 443) ? "https: //": "http: //";
// Прочетете името на домейна на текущата страница
$ домейн = $ _SERVER ['HTTP_HOST'];
// Прочетете заявения ресурс
$ ресурс = $ _SERVER ['REQUEST_URI'];
// Прочетете стойността на низа на заявката
$ query = $ _SERVER ['QUERY_STRING'];
// Комбинирайте всички части, за да получите пълния URL адрес
$ url = $ протокол.$ домейн.$ ресурс;
// Отпечатваме URL адреса на текущата страница
ехо "
Пълният URL адрес на текущата страница е:
". $ url;// Отпечатваме част от низа на заявката
ехо "
Низът на заявката е:
". $ заявка;?>
Изход:
Следният изход ще се появи след изпълнението на горния скрипт от сървъра без никакъв низ за заявка. В URL адреса не е предоставен низ за заявка. Така изходът показва празния низ за заявка.
Следният изход ще се появи след изпълнението на горния скрипт от сървъра с низа на заявката. Следващият изход показва URL адреса с низа на заявката и низа на заявката поотделно.
Заключение
Различни начини за извличане на пълния URL адрес на текущата страница са показани в този урок с помощта на различни примери. Начинът за разделяне на URL адреса и низа на заявката също е показан в този урок. Надяваме се, че този урок ще помогне на читателите да разберат начина на четене на пълния URL адрес на текущата страница с помощта на PHP скрипта.