Hent den fulde URL i PHP

Retrieve Full Url Php



To typer globale variabler kan bruges i PHP: den superglobale variabel og den brugerdefinerede variabel. $ _SERVER er en superglobal array -variabel, der bruges til at hente den fulde sti til den aktuelle side. Protokollen (HTTP eller HTTPS) for webadressen er også påkrævet for at få hele webadressen på siden. Hvis $ _SERVER ['HTTPS'] vender tilbage 'på', derefter vil HTTPS blive brugt med URL -adressen, ellers, HTTP vil blive brugt. Hvordan hele URL -adressen på den aktuelle side kan hentes ved hjælp af $ _SERVER array er blevet forklaret i denne vejledning.

Nødvendige variabler

Følgende superglobale variabler er nødvendige for at finde URL -adressen på den aktuelle side.







Superglobale variabler Formål
$ _SERVER ['HTTPS'] Det vender tilbage hvis HTTPS -protokol bruges i URL'en på den aktuelle side.
$ _SERVER ['HTTP_HOST'] Det returnerer navnet på serveren på den aktuelle side.
$ _SERVER [‘REQUEST_URI’] Det returnerer det anmodede ressource navn.
$ _SERVER [‘SERVER_PORT’] Det returnerer serverens portnummer.
$ _SERVER [‘QUERY_STRING’] Den returnerer forespørgselsstrengværdien, hvis den findes i URL -adressen på den aktuelle side.

Eksempel 1: Vis URL'en til den aktuelle side ved hjælp af en betinget erklæring

Følgende eksempel viser, hvordan den betingede erklæring kan bruges til at få protokollen brugt i URL'en på den aktuelle side. Opret en PHP -fil med følgende script.



Værdien af ​​$ _SERVER ['HTTP_HOST'] bruges til at hente domænenavnet for den aktuelle URL. Værdien af ​​$ _SERVER [‘REQUEST_URI’] bruges til at hente navnet på den anmodede ressource. væk) funktion bruges til at kontrollere, om $ _SERVER ['HTTPS'] er et sæt eller ej, og hvis det er indstillet, skal du kontrollere værdien af ​​$ _SERVER ['HTTPS'] er det eller ikke. Derefter kombineres værdierne for disse tre variabler med ‘//:’ for at hente den fulde webadresse for den aktuelle side.




// Læs domænenavnet på den aktuelle side
$ domæne = $ _SERVER['HTTP_HOST'];
// Læs den ønskede ressource
$ ressource = $ _SERVER['REQUEST_URI'];
// Find protokollen for den aktuelle url
hvis( væk ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS'] === 'på')
$ -protokol = 'https';
andet
$ -protokol = 'http';

// Kombiner alle dele for at få den fulde URL -adresse
$ url = $ -protokol.': //'.$ domæne.$ ressource;
// Udskriv URL -adressen på den aktuelle side
smed ud '

URL -adressen for den aktuelle
siden er:

'
. $ url;?>

Produktion:





Følgende output vises efter at scriptet er kørt fra serveren. Værdien af ​​$ _SERVER ['HTTPS'] er ikke for den lokale server. Så output viser http protokol for den aktuelle URL.



Eksempel 2: Vis URL'en til den aktuelle side ved hjælp af ternary operator

Følgende eksempel viser, hvordan du får den fulde webadresse til den aktuelle side ved hjælp af den ternære operator. Opret en PHP -fil med følgende script.

Hvis betingelsen bruges i det foregående eksempel til at finde ud af, hvilken protokol der bruges i URL'en på den aktuelle side. Den samme opgave udføres ved hjælp af den ternære operator i dette script. væk) funktion bruges til at kontrollere, om $ _SERVER ['HTTPS'] er et sæt eller ej, og om værdien af ​​$ _SERVER ['HTTPS'] er på, så returnerer den ternære operatør HTTPS, ellers returnerer den HTTP. De andre dele af URL'en hentes og udskrives som det foregående eksempel.


// Find protokollen for den aktuelle url
$ -protokol = ( væk ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
== 'på'?'https' : 'http');
// Læs domænenavnet på den aktuelle side
$ domæne = $ _SERVER['HTTP_HOST'];
// Læs den ønskede ressource
$ ressource = $ _SERVER['REQUEST_URI'];
// Kombiner alle dele for at få den fulde URL -adresse
$ url = $ -protokol.': //'.$ domæne.$ ressource;
// Udskriv URL -adressen på den aktuelle side
smed ud '

URL -adressen på den aktuelle side er:

'
. $ url;
?>

Produktion:

Følgende output vises efter at scriptet er kørt fra serveren. Værdien af ​​$ _SERVER ['HTTPS'] er ikke for den lokale server. Så output viser HTTP -protokollen for den aktuelle URL.

Eksempel 3: Vis URL'en til den aktuelle side baseret på portnummer

I de to foregående eksempler bruges værdien af ​​$ _SERVER ['HTTPS'] til at finde protokollen for sidens aktuelle webadresse, og der bruges ingen forespørgselsstreng med URL'en. Følgende eksempel viser, hvordan varianten $ _SERVER ['SERVER_PORT'] kan bruges til at finde ud af protokollen og hente den fulde URL -adresse med forespørgselsstrengen. Opret en PHP -fil med følgende script.

Her bruges flere logiske betingelser og ternær operator til at finde ud af protokollen. Hvis værdien af ​​$ _SERVER ['HTTPS'] er tom eller indstillet til af, derefter vil det kontrollere værdien af ​​$ _SERVER ['SERVER_PORT'] for at finde ud af protokollen for den aktuelle URL. $ _SERVER ['QUERY_STRING'] - variablen bruges til at hente forespørgselsstrengværdien fra webadressen.


// Find protokollen for den aktuelle url
$ -protokol = ((! tom ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
! = 'af') || $ _SERVER['SERVER_PORT'] == 443)?'https: //' : 'http: //';
// Læs domænenavnet på den aktuelle side
$ domæne = $ _SERVER['HTTP_HOST'];
// Læs den ønskede ressource
$ ressource = $ _SERVER['REQUEST_URI'];
// Læs værdien af ​​forespørgselsstrengen
$ forespørgsel = $ _SERVER['QUERY_STRING'];
// Kombiner alle dele for at få den fulde URL -adresse
$ url = $ -protokol.$ domæne.$ ressource;
// Udskriv URL -adressen på den aktuelle side
smed ud '

Den fulde URL -adresse på den aktuelle side er:

'
. $ url;
// Udskriv forespørgselsstrengdelen
smed ud '

Forespørgselsstrengen er:

'
. $ forespørgsel;
?>

Produktion:

Følgende output vises efter udførelse af ovenstående script fra serveren uden nogen forespørgselsstreng. Der findes ingen forespørgselsstreng i webadressen. Så output viser den tomme forespørgselsstreng.

Følgende output vises efter udførelse af ovenstående script fra serveren med forespørgselsstrengen. Den følgende output viser URL -adressen med forespørgselsstrengen og forespørgselsstrengen separat.

Konklusion

Forskellige måder at hente den fulde URL til den aktuelle side er vist i denne vejledning ved hjælp af forskellige eksempler. Måden at adskille webadressen og forespørgselsstrengen på er også vist i denne vejledning. Forhåbentlig vil denne vejledning hjælpe læserne med at kende måden at læse hele webadressen på den aktuelle side ved hjælp af PHP -scriptet.