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 på hvis HTTPS -protokollen brukes i URL -en til den gjeldende siden. |
$ _SERVER [‘HTTP_HOST’] | Det returnerer navnet på serveren til den gjeldende siden. |
$ _SERVER [‘REQUEST_URI’] | Den returnerer det forespurte ressursnavnet. |
$ _SERVER [‘SERVER_PORT’] | Det 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 gjeldende side ved hjelp av en betinget setning
Følgende eksempel viser hvordan den betingede setningen kan brukes til å få protokollen brukt i URL -en til den gjeldende siden. Lag en PHP -fil med følgende skript.
Verdien av $ _SERVER [‘HTTP_HOST’] brukes til å hente domenenavnet til den nåværende nettadressen. Verdien av $ _SERVER [‘REQUEST_URI’] brukes til å hente navnet på den forespurte ressursen. borte) funksjonen brukes til å sjekke om $ _SERVER [‘HTTPS’] er et sett eller ikke, og hvis det er satt, så sjekk verdien av $ _SERVER [‘HTTPS’] er det på eller ikke. Deretter kombineres verdiene til disse tre variablene med ‘//:’ for å hente hele URL -en til gjeldende side.
// Les domenenavnet til den gjeldende siden
$ domene = $ _SERVER['HTTP_HOST'];
// Les den forespurte ressursen
$ ressurs = $ _SERVER['REQUEST_URI'];
// Finn ut protokollen til gjeldende nettadresse
hvis( borte ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS'] === 'på')
$ -protokoll = 'https';
ellers
$ -protokoll = 'http';
// Kombiner alle delene for å få hele URL -adressen
$ url = $ -protokoll.': //'.$ domene.$ ressurs;
// Skriv ut URL -adressen til gjeldende side
kastet ut '
URL -adressen til gjeldende
siden er:
'. $ url;?> Produksjon:
Følgende utdata vises etter at skriptet er kjørt fra serveren. Verdien av $ _SERVER [‘HTTPS’] er ikke på for den lokale serveren. Så utgangen viser http protokoll for gjeldende URL.
Eksempel 2: Vis nettadressen til gjeldende side ved hjelp av ternary operator
Følgende eksempel viser hvordan du får hele URL -en til gjeldende side ved hjelp av den ternære operatøren. Lag en PHP -fil med følgende skript.
Hvis betingelsen brukes i forrige eksempel for å finne ut hvilken protokoll som brukes i URL -en til den gjeldende siden. Den samme oppgaven utføres ved å bruke den ternære operatoren i dette skriptet. borte) funksjonen brukes til å kontrollere om $ _SERVER [‘HTTPS’] er et sett eller ikke, og om verdien til $ _SERVER [‘HTTPS’] er på, da vil den ternære operatøren returnere HTTPS, ellers vil den returnere HTTP. De andre delene av URL -en hentes ut og skrives ut som forrige eksempel.
// Finn ut protokollen til gjeldende nettadresse
$ -protokoll = ( borte ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
== 'på'?'https' : 'http');
// Les domenenavnet til den gjeldende siden
$ domene = $ _SERVER['HTTP_HOST'];
// Les den forespurte ressursen
$ ressurs = $ _SERVER['REQUEST_URI'];
// Kombiner alle delene for å få hele URL -adressen
$ url = $ -protokoll.': //'.$ domene.$ ressurs;
// Skriv ut URL -adressen til gjeldende side
kastet ut '
URL -adressen til den nåværende siden er:
'. $ url;?>
Produksjon:
Følgende utdata vises etter at skriptet er kjørt fra serveren. Verdien av $ _SERVER [‘HTTPS’] er ikke på for den lokale serveren. Så utgangen viser HTTP -protokollen for den nåværende URL -en.
Eksempel 3: Vis nettadressen til gjeldende side basert på portnummer
I de to foregående eksemplene brukes verdien av $ _SERVER [‘HTTPS’] for å finne ut protokollen for den nåværende nettadressen til siden, og ingen søkestreng brukes med nettadressen. Følgende eksempel viser hvordan $ _SERVER [‘SERVER_PORT’] -variabelen kan brukes til å finne ut protokollen og hente hele URL -adressen med spørringsstrengen. Lag en PHP -fil med følgende skript.
Her brukes flere logiske forhold og ternær operatør for å finne ut protokollen. Hvis verdien til $ _SERVER [‘HTTPS’] er tom eller satt til av, så vil den sjekke verdien av $ _SERVER [‘SERVER_PORT’] for å finne ut protokollen til den nåværende URL -en. $ _SERVER ['QUERY_STRING'] - variabelen brukes til å hente spørringsstrengverdien fra nettadressen.
// Finn ut protokollen til gjeldende nettadresse
$ -protokoll = ((! tømme ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
! = 'av') || $ _SERVER['SERVER_PORT'] == 443)?'https: //' : 'http: //';
// Les domenenavnet til den gjeldende siden
$ domene = $ _SERVER['HTTP_HOST'];
// Les den forespurte ressursen
$ ressurs = $ _SERVER['REQUEST_URI'];
// Les verdien for spørringsstrengen
$ forespørsel = $ _SERVER['QUERY_STRING'];
// Kombiner alle delene for å få hele URL -adressen
$ url = $ -protokoll.$ domene.$ ressurs;
// Skriv ut URL -adressen til gjeldende side
kastet ut '
Den fullstendige URL -adressen til den nåværende siden er:
'. $ url;// Skriv ut spørringsstrengen
kastet ut '
Spørringsstrengen er:
'. $ forespørsel;?>
Produksjon:
Følgende utdata vises etter at skriptet ovenfor er utført fra serveren uten noen spørringsstreng. Ingen søkestreng er angitt i nettadressen. Så utgangen viser den tomme spørringsstrengen.
Følgende utdata vises etter at skriptet ovenfor er utført fra serveren med spørringsstrengen. Følgende utdata viser URL -adressen med spørringsstrengen og spørringsstrengen separat.
Konklusjon
Ulike måter å hente hele URL -en til gjeldende side er vist i denne opplæringen ved hjelp av forskjellige eksempler. Måten å skille nettadressen og spørringsstrengen på er også vist i denne opplæringen. Forhåpentligvis vil denne opplæringen hjelpe leserne med å vite måten å lese hele URL -en til gjeldende side ved hjelp av PHP -skriptet.