php

Hent hele URL-adressen i PHP

Hent hele URL-adressen i PHP
To typer globale variabler kan brukes i PHP: den superglobale variabelen og den brukerdefinerte variabelen. $ _SERVER er en superglobal arrayvariabel som brukes til å hente hele banen til den gjeldende siden. Protokollen (HTTP eller HTTPS) til URL-en er også nødvendig for å få den fullstendige URL-en til siden. Hvis $ _SERVER ['HTTPS'] returnerer 'på', da vil HTTPS brukes med URL-adressen, ellers, HTTP vil bli brukt. Hvordan hele URL-adressen til den gjeldende siden kan hentes ved hjelp av $ _SERVER array er forklart i denne opplæringen.

Nødvendige variabler

Følgende superglobale variabler kreves for å finne ut URL-adressen til den gjeldende siden.

Superglobale variabler Formål
$ _SERVER ['HTTPS'] Det kommer tilbake hvis HTTPS-protokoll brukes i URL-en til den aktuelle siden.
$ _SERVER ['HTTP_HOST'] Den returnerer navnet på serveren til den gjeldende siden.
$ _SERVER ['REQUEST_URI'] Den returnerer det forespurte ressursnavnet.
$ _SERVER ['SERVER_PORT'] Den returnerer portnummeret til serveren.
$ _SERVER ['QUERY_STRING'] Den returnerer spørringsstrengverdien hvis den finnes i URL-adressen til den gjeldende siden.

Eksempel 1: Vis nettadressen til den gjeldende siden ved hjelp av en betinget uttalelse

Følgende eksempel viser hvordan betingelsesuttalelsen kan brukes til å få protokollen brukt i URL-en til den aktuelle siden. Opprett en PHP-fil med følgende skript.

Verdien av $ _SERVER ['HTTP_HOST'] brukes til å få domenenavnet til den nåværende URL-en. Verdien av $ _SERVER ['REQUEST_URI'] brukes til å hente navnet på den forespurte ressursen. isset () funksjonen brukes til å sjekke om $ _SERVER ['HTTPS'] er et sett eller ikke, og hvis det er angitt, så sjekk verdien av $ _SERVER ['HTTPS'] er det det er eller ikke. Deretter kombineres verdiene til disse tre variablene med '//:' for å hente hele URL-adressen til den nåværende siden.

// Les domenenavnet til den gjeldende siden
$ domene = $ _SERVER ['HTTP_HOST'];
// Les ønsket ressurs
$ resource = $ _SERVER ['REQUEST_URI'];
// Finn ut protokollen til gjeldende url
if (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS'] === 'on')
$ protocol = "https";
ellers
$ protocol = "http";
// Kombiner alle delene for å få full URL-adresse
$ url = $ protokoll.": //".$ domene.$ ressurs;
// Skriv ut URL-adressen til den gjeldende siden
ekko "

URL-adressen til gjeldende
siden er:

". $ url;?>

Produksjon:

Følgende utdata vises når du har kjørt skriptet fra serveren. Verdien av $ _SERVER ['HTTPS'] er ikke for den lokale serveren. Så utgangen viser http protokoll for gjeldende URL.

Eksempel 2: Vis URL-en til den gjeldende siden ved hjelp av ternary operator

Følgende eksempel viser hvordan du får full URL til den nåværende siden ved hjelp av den ternære operatøren. Opprett en PHP-fil med følgende skript.

Hvis tilstanden ble brukt i forrige eksempel for å finne ut hvilken protokoll som brukes i URL-en til den aktuelle siden. Den samme oppgaven gjøres ved hjelp av den ternære operatøren i dette skriptet. isset () funksjonen brukes til å sjekke om $ _SERVER ['HTTPS'] er et sett eller ikke, og om verdien av $ _SERVER ['HTTPS'] er på, så vil den ternære operatøren returnere HTTPS, ellers vil den returnere HTTP. De andre delene av URL-en hentes og skrives ut som i forrige eksempel.

// Finn ut protokollen til gjeldende url
$ protocol = (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
== 'på' ? "https": "http");
// Les domenenavnet til den gjeldende siden
$ domene = $ _SERVER ['HTTP_HOST'];
// Les ønsket ressurs
$ resource = $ _SERVER ['REQUEST_URI'];
// Kombiner alle delene for å få full URL-adresse
$ url = $ protokoll.": //".$ domene.$ ressurs;
// Skriv ut URL-adressen til den gjeldende siden
ekko "

URL-adressen til den gjeldende siden er:

". $ url;
?>

Produksjon:

Følgende utdata vises når du har kjørt skriptet fra serveren. Verdien av $ _SERVER ['HTTPS'] er ikke for den lokale serveren. Så utgangen viser HTTP-protokollen for gjeldende URL.

Eksempel 3: Vis nettadressen til den gjeldende siden basert på portnummer

I de to foregående eksemplene brukes verdien av $ _SERVER ['HTTPS'] for å finne ut protokollen til den gjeldende URL-en til siden, og ingen spørringsstreng brukes med URL-en. Følgende eksempel viser hvordan variabelen $ _SERVER ['SERVER_PORT'] kan brukes til å finne ut protokollen og hente hele URL-adressen med spørringsstrengen. Opprett en PHP-fil med følgende skript.

Her brukes flere logiske forhold og ternær operatør for å finne ut protokollen. Hvis verdien av $ _SERVER ['HTTPS'] er tom eller satt til av, så vil den sjekke verdien av $ _SERVER ['SERVER_PORT'] for å finne ut protokollen til gjeldende URL. $ _SERVER ['QUERY_STRING'] -variabel brukes til å hente spørringsstrengverdien fra URL-en.

// Finn ut protokollen til gjeldende url
$ protokoll = ((!tom ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
!= 'av') || $ _SERVER ['SERVER_PORT'] == 443) ? "https: //": "http: //";
// Les domenenavnet på den gjeldende siden
$ domene = $ _SERVER ['HTTP_HOST'];
// Les ønsket ressurs
$ resource = $ _SERVER ['REQUEST_URI'];
// Les spørringsstrengverdien
$ spørring = $ _SERVER ['QUERY_STRING'];
// Kombiner alle delene for å få full URL-adresse
$ url = $ protokoll.$ domene.$ ressurs;
// Skriv ut URL-adressen til den gjeldende siden
ekko "

Hele URL-adressen til den gjeldende siden er:

". $ url;
// Skriv ut spørringsstrengdelen
ekko "

Spørringsstrengen er:

". $ spørring;
?>

Produksjon:

Følgende utdata vises etter å ha utført skriptet ovenfor fra serveren uten noen spørringsstreng. Ingen spørringsstreng er gitt i URL-en. Så utgangen viser den tomme spørringsstrengen.

Følgende utdata vises etter å ha utført skriptet ovenfor fra serveren med spørringsstrengen. Følgende utgang viser URL-adressen med spørringsstrengen og spørringsstrengen separat.

Konklusjon

Ulike måter å hente hele URL-en til den aktuelle siden vises i denne veiledningen ved hjelp av forskjellige eksempler. Måten å skille URL og spørringsstreng på vises også i denne veiledningen. Forhåpentligvis vil denne opplæringen hjelpe leserne å vite hvordan de kan lese hele URL-en til den aktuelle siden ved hjelp av PHP-skriptet.

Hvordan bruke GameConqueror Cheat Engine i Linux
Artikkelen dekker en guide om bruk av GameConqueror-juksemotoren i Linux. Mange brukere som spiller spill på Windows bruker ofte "Cheat Engine" -appli...
Beste spillkonsollemulatorer for Linux
Denne artikkelen vil liste opp populære programvare for spillkonsollemulering tilgjengelig for Linux. Emulation er et programvarekompatibilitetslag so...
Beste Linux Distros for spill i 2021
Linux-operativsystemet har kommet langt fra det originale, enkle, serverbaserte utseendet. Dette operativsystemet har forbedret seg enormt de siste år...