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 på 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 på 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 på 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 på 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.