php

Изтеглете пълния URL адрес в PHP

Изтеглете пълния URL адрес в PHP
В PHP могат да се използват два типа глобални променливи: суперглобалната променлива и дефинираната от потребителя променлива. $ _SERVER е суперглобална променлива на масив, която се използва за извличане на пълния път на текущата страница. Протоколът (HTTP или HTTPS) на URL адреса също се изисква, за да се получи пълният URL адрес на страницата. Ако $ _SERVER ['HTTPS'] се завръща 'На', тогава HTTPS ще се използва с URL адреса, в противен случай, HTTP ще бъде използвано. Как може да бъде извлечен пълният URL адрес на текущата страница с помощта на $ _SERVER масив е обяснен в този урок.

Необходими променливи

Следните суперглобални променливи са необходими, за да се намери 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 скрипта.

Как да заснемете и поточно предадете игралната си сесия на Linux
В миналото играта на игри се смяташе само за хоби, но с течение на времето игралната индустрия отбеляза огромен ръст по отношение на технологиите и бр...
Най-добрите игри за игра с ръчно проследяване
Oculus Quest наскоро представи страхотната идея за ръчно проследяване без контролери. С непрекъснато нарастващия брой игри и дейности, които изпълнява...
Как да покажете OSD наслагване в приложения на цял екран за Linux и игри
Играта на цял екран или използване на приложения в режим на цял екран без разсейване може да ви откъсне от съответната системна информация, видима в п...