php

Hämta den fullständiga webbadressen i PHP

Hämta den fullständiga webbadressen i PHP
Två typer av globala variabler kan användas i PHP: den superglobala variabeln och den användardefinierade variabeln. $ _SERVER är en superglobal arrayvariabel som används för att hämta hela sökvägen för den aktuella sidan. Protokollet (HTTP eller HTTPS) för URL: en krävs också för att få hela webbadressen för sidan. Om $ _SERVER ['HTTPS'] återvänder 'på', då kommer HTTPS att användas med URL-adressen, annars, HTTP kommer att användas. Hur den fullständiga URL-adressen för den aktuella sidan kan hämtas med hjälp av $ _SERVER array har förklarats i denna handledning.

Nödvändiga variabler

Följande superglobala variabler krävs för att ta reda på URL-adressen till den aktuella sidan.

Superglobala variabler Syften
$ _SERVER ['HTTPS'] Den återvänder om HTTPS-protokoll används i webbadressen till den aktuella sidan.
$ _SERVER ['HTTP_HOST'] Den returnerar namnet på servern på den aktuella sidan.
$ _SERVER ['REQUEST_URI'] Det returnerar det begärda resursnamnet.
$ _SERVER ['SERVER_PORT'] Den returnerar serverns portnummer.
$ _SERVER ['QUERY_STRING'] Den returnerar frågesträngvärdet om det finns i URL-adressen till den aktuella sidan.

Exempel 1: Visa URL: n för den aktuella sidan med ett villkorligt uttalande

Följande exempel visar hur villkorligt uttalande kan användas för att få protokollet att användas i webbadressen till den aktuella sidan. Skapa en PHP-fil med följande skript.

Värdet på $ _SERVER ['HTTP_HOST'] används för att få domännamnet för den aktuella URL: n. Värdet på $ _SERVER ['REQUEST_URI'] används för att få namnet på den begärda resursen. isset () funktionen används för att kontrollera om $ _SERVER ['HTTPS'] är en uppsättning eller inte, och om den är inställd, kontrollera sedan värdet på $ _SERVER ['HTTPS'] om den är eller inte. Därefter kombineras värdena för dessa tre variabler med '//:' för att hämta hela URL: en för den aktuella sidan.

// Läs domännamnet på den aktuella sidan
$ domain = $ _SERVER ['HTTP_HOST'];
// Läs den begärda resursen
$ resource = $ _SERVER ['REQUEST_URI'];
// Ta reda på protokollet för den aktuella webbadressen
if (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS'] === 'on')
$ protocol = "https";
annan
$ protocol = "http";
// Kombinera alla delar för att få hela URL-adressen
$ url = $ protokoll.": //".$ domän.$ resurs;
// Skriv ut URL-adressen till den aktuella sidan
eko "

URL: n för den aktuella
sidan är:

". $ url;?>

Produktion:

Följande utdata visas efter att man kört skriptet från servern. Värdet på $ _SERVER ['HTTPS'] är inte för den lokala servern. Så resultatet visar http protokoll för aktuell URL.

Exempel 2: Visa URL: n för den aktuella sidan med den ternära operatören

Följande exempel visar hur man hämtar hela webbadressen till den aktuella sidan med den ternära operatören. Skapa en PHP-fil med följande skript.

Om villkoret används i föregående exempel för att ta reda på vilket protokoll som används i webbadressen för den aktuella sidan. Samma uppgift görs med den ternära operatören i detta skript. isset () funktionen används för att kontrollera om $ _SERVER ['HTTPS'] är en uppsättning eller inte, och om värdet av $ _SERVER ['HTTPS'] är på, då returnerar den ternära operatören HTTPS, annars returnerar den HTTP. De andra delarna av URL: en hämtas och skrivs ut som i föregående exempel.

// Ta reda på protokollet för den aktuella webbadressen
$ protocol = (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
== 'på' ? "https": "http");
// Läs domännamnet på den aktuella sidan
$ domain = $ _SERVER ['HTTP_HOST'];
// Läs den begärda resursen
$ resource = $ _SERVER ['REQUEST_URI'];
// Kombinera alla delar för att få hela URL-adressen
$ url = $ protokoll.": //".$ domän.$ resurs;
// Skriv ut URL-adressen till den aktuella sidan
eko "

URL-adressen till den aktuella sidan är:

". $ url;
?>

Produktion:

Följande utdata visas efter att man kört skriptet från servern. Värdet på $ _SERVER ['HTTPS'] är inte för den lokala servern. Så resultatet visar HTTP-protokollet för den aktuella URL: n.

Exempel 3: Visa URL: en för den aktuella sidan baserat på portnummer

I de två föregående exemplen används värdet på $ _SERVER ['HTTPS'] för att ta reda på protokollet för den aktuella URL: en på sidan, och ingen frågesträng används med URL: en. Följande exempel visar hur variabeln $ _SERVER ['SERVER_PORT'] kan användas för att ta reda på protokollet och hämta hela URL-adressen med frågesträngen. Skapa en PHP-fil med följande skript.

Här används flera logiska förhållanden och ternär operatör för att ta reda på protokollet. Om värdet på $ _SERVER ['HTTPS'] är tomt eller satt till av, då kommer den att kontrollera värdet på $ _SERVER ['SERVER_PORT'] för att ta reda på protokollet för den aktuella URL: n. $ _SERVER ['QUERY_STRING'] variabel används för att hämta frågesträngsvärdet från webbadressen.

// Ta reda på protokollet för den aktuella webbadressen
$ protokoll = ((!tom ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
!= 'av') || $ _SERVER ['SERVER_PORT'] == 443) ? "https: //": "http: //";
// Läs domännamnet på den aktuella sidan
$ domain = $ _SERVER ['HTTP_HOST'];
// Läs den begärda resursen
$ resource = $ _SERVER ['REQUEST_URI'];
// Läs frågesträngens värde
$ fråga = $ _SERVER ['QUERY_STRING'];
// Kombinera alla delar för att få hela URL-adressen
$ url = $ protokoll.$ domän.$ resurs;
// Skriv ut URL-adressen till den aktuella sidan
eko "

Hela URL-adressen för den aktuella sidan är:

". $ url;
// Skriv ut frågesträngdelen
eko "

Frågesträngen är:

". $ fråga;
?>

Produktion:

Följande utdata visas efter att ovanstående skript har körts från servern utan någon frågesträng. Ingen frågesträng tillhandahålls i webbadressen. Så resultatet visar den tomma frågesträngen.

Följande utdata visas efter att ovanstående skript har körts från servern med frågesträngen. Följande utdata visar URL-adressen med frågesträngen och frågesträngen separat.

Slutsats

Olika sätt att hämta hela URL: en för den aktuella sidan visas i denna handledning med hjälp av olika exempel. Sättet att separera webbadressen och frågesträngen visas också i denna handledning. Förhoppningsvis kommer den här handledningen att hjälpa läsarna att veta hur man läser hela webbadressen för den aktuella sidan med hjälp av PHP-skriptet.

Mus AppyMouse styrplatta och muspekare för Windows-surfplattor
AppyMouse styrplatta och muspekare för Windows-surfplattor
Surfplattanvändare saknar ofta muspekaren, särskilt när de brukar använda bärbara datorer. Pekskärmen Smartphones och surfplattor har många fördelar o...
Mus Mellan musknappen fungerar inte i Windows 10
Mellan musknappen fungerar inte i Windows 10
De mittknappen hjälper dig att bläddra igenom långa webbsidor och skärmar med mycket data. Om det slutar, kommer du sluta använda tangentbordet för at...
Mus Hur man ändrar vänster och höger musknapp på Windows 10 PC
Hur man ändrar vänster och höger musknapp på Windows 10 PC
Det är en hel norm att alla datormusenheter är ergonomiskt utformade för högerhänta användare. Men det finns musenheter tillgängliga som är speciellt ...