php

Hent den fulde URL i PHP

Hent den fulde URL i PHP
To typer globale variabler kan bruges i PHP: den superglobale variabel og den brugerdefinerede variabel. $ _SERVER er en superglobal matrixvariabel, der bruges til at hente den fulde sti for den aktuelle side. Protokollen (HTTP eller HTTPS) for URL'en kræves også for at få den fulde URL af siden. Hvis $ _SERVER ['HTTPS'] vender tilbage 'på', så vil HTTPS blive brugt med URL-adressen, ellers, HTTP vil blive brugt. Hvordan den fulde URL-adresse 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 ud af URL-adressen på den aktuelle side.

Superglobale variabler Formål
$ _SERVER ['HTTPS'] Det vender tilbage hvis HTTPS-protokol bruges i URL'en til den aktuelle side.
$ _SERVER ['HTTP_HOST'] Det returnerer navnet på serveren på den aktuelle side.
$ _SERVER ['REQUEST_URI'] Det returnerer det ønskede ressourcenavn.
$ _SERVER ['SERVER_PORT'] Det returnerer serverens portnummer.
$ _SERVER ['QUERY_STRING'] Den returnerer forespørgselsstrengens værdi, 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 til den aktuelle side. Opret en PHP-fil med følgende script.

Værdien af ​​$ _SERVER ['HTTP_HOST'] bruges til at hente domænenavnet på den aktuelle URL. Værdien af ​​$ _SERVER ['REQUEST_URI'] bruges til at hente navnet på den anmodede ressource. isset () funktionen 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'], hvis det er eller ikke. Derefter kombineres værdierne for disse tre variabler med '//:' for at hente den fulde URL på den aktuelle side.

// Læs domænenavnet på den aktuelle side
$ domæne = $ _SERVER ['HTTP_HOST'];
// Læs den ønskede ressource
$ resource = $ _SERVER ['REQUEST_URI'];
// Find ud af protokollen for den aktuelle url
if (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS'] === 'on')
$ protocol = "https";
andet
$ protocol = "http";
// Kombiner alle dele for at få den fulde URL-adresse
$ url = $ protokol.": //".$ domæne.$ ressource;
// Udskriv URL-adressen på den aktuelle side
ekko "

URL-adressen til den aktuelle
siden er:

". $ url;?>

Produktion:

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

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

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

Hvis betingelsen blev brugt i det foregående eksempel for at finde ud af, hvilken protokol der bruges i URL'en til den aktuelle side. Den samme opgave udføres ved hjælp af den ternære operator i dette script. isset () 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 ud af protokollen for den aktuelle url
$ protocol = (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
== 'til' ? "https": "http");
// Læs domænenavnet på den aktuelle side
$ domæne = $ _SERVER ['HTTP_HOST'];
// Læs den ønskede ressource
$ resource = $ _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
ekko "

URL-adressen til den aktuelle side er:

". $ url;
?>

Produktion:

Følgende output vises efter kørsel af scriptet fra serveren. Værdien af ​​$ _SERVER ['HTTPS'] er ikke til 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 ud af protokollen for den aktuelle URL på siden, og der bruges ingen forespørgselsstreng med URL'en. Følgende eksempel viser, hvordan variablen $ _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 forhold og ternær operatør til at finde ud af protokollen. Hvis værdien af ​​$ _SERVER ['HTTPS'] er tom eller indstillet til af, så kontrollerer den værdien af ​​$ _SERVER ['SERVER_PORT'] for at finde ud af protokollen for den aktuelle URL. $ _SERVER ['QUERY_STRING'] variabel bruges til at hente forespørgselsstrengens værdi fra URL'en.

// Find ud af protokollen for den aktuelle url
$ protokol = ((!tom ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
!= 'off') || $ _SERVER ['SERVER_PORT'] == 443) ? "https: //": "http: //";
// Læs domænenavnet på den aktuelle side
$ domæne = $ _SERVER ['HTTP_HOST'];
// Læs den ønskede ressource
$ resource = $ _SERVER ['REQUEST_URI'];
// Læs forespørgselsstrengens værdi
$ 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
ekko "

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

". $ url;
// Udskriv forespørgselsstrengdelen
ekko "

Forespørgselsstrengen er:

". $ forespørgsel;
?>

Produktion:

Følgende output vises efter udførelse af ovenstående script fra serveren uden nogen forespørgselsstreng. Ingen forespørgselsstreng er angivet i URL'en. Så output viser den tomme forespørgselsstreng.

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

Konklusion

Forskellige måder at hente den fulde URL på den aktuelle side vises i denne vejledning ved hjælp af forskellige eksempler. Måden at adskille URL'en og forespørgselsstrengen vises også i denne vejledning. Forhåbentlig hjælper denne vejledning læserne med at kende måden at læse den fulde URL på den aktuelle side ved hjælp af PHP-scriptet.

Sådan styrkes FPS i Linux?
FPS står for Billeder i sekundet. FPS's opgave er at måle billedhastigheden i videoafspilninger eller spiloptræden. I enkle ord betegnes antallet af u...
Top Oculus App Lab-spil
Hvis du er Oculus-headset-ejer, skal du være opmærksom på sideloading. Sideladning er processen med at installere ikke-butiksindhold på dit headset. S...
Top 10 spil at spille på Ubuntu
Windows-platform har været en af ​​de dominerende platforme til spil på grund af den enorme procentdel af spil, der udvikler sig i dag til indbygget a...