Hämta hela URL: en i PHP

Retrieve Full Url Php



Två typer av globala variabler kan användas i PHP: den superglobala variabeln och den användardefinierade variabeln. $ _SERVER är en superglobal matrisvariabel som används för att hämta hela sökvägen för den aktuella sidan. Protokollet (HTTP eller HTTPS) för webbadressen krävs också för att få hela webbadressen till sidan. Om $ _SERVER [‘HTTPS’] returnerar 'på', då kommer HTTPS att användas med URL -adressen, annars, HTTP kommer att användas. Hur hela URL -adressen för den aktuella sidan kan hämtas med $ _SERVER array har förklarats i denna handledning.

Nödvändiga variabler

Följande superglobala variabler krävs för att ta reda på URL -adressen för den aktuella sidan.







Superglobala variabler Syften
$ _SERVER [‘HTTPS’] Det återkommer om HTTPS -protokollet används i webbadressen till den aktuella sidan.
$ _SERVER [‘HTTP_HOST’] Det returnerar namnet på servern på den aktuella sidan.
$ _SERVER [‘REQUEST_URI’] Det returnerar det begärda resursnamnet.
$ _SERVER [‘SERVER_PORT’] Det returnerar portnumret på servern.
$ _SERVER [‘QUERY_STRING’] Det returnerar frågesträngvärdet om det finns i URL -adressen för den aktuella sidan.

Exempel 1: Visa URL: en för den aktuella sidan med ett villkorligt uttalande

Följande exempel visar hur det villkorliga uttalandet kan användas för att få protokollet att användas i webbadressen till den aktuella sidan. Skapa en PHP -fil med följande skript.



Värdet på $ _SERVER [‘HTTP_HOST’] används för att få domännamnet för den aktuella webbadressen. Värdet på $ _SERVER [‘REQUEST_URI’] används för att få namnet på den begärda resursen. borta) funktionen används för att kontrollera om $ _SERVER ['HTTPS'] är en uppsättning eller inte, och om den är inställd, kontrollera värdet på $ _SERVER ['HTTPS'] är det eller inte. Därefter kombineras värdena för dessa tre variabler med ‘//:’ för att hämta hela webbadressen för den aktuella sidan.




// Läs domännamnet för den aktuella sidan
$ domän = $ _SERVER['HTTP_HOST'];
// Läs den begärda resursen
$ resurs = $ _SERVER['REQUEST_URI'];
// Ta reda på protokollet för den aktuella webbadressen
om( borta ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS'] === 'på')
$ -protokoll = 'https';
annan
$ -protokoll = 'http';

// Kombinera alla delar för att få hela URL -adressen
$ url = $ -protokoll.': //'.$ domän.$ resurs;
// Skriv ut URL -adressen för den aktuella sidan
kastade ut '

Strömens URL -adress
sidan är:

'
. $ url;?>

Produktion:





Följande utdata visas efter att manuset har körts från servern. Värdet på $ _SERVER [‘HTTPS’] är inte för den lokala servern. Så utmatningen visar http protokoll för den aktuella webbadressen.



Exempel 2: Visa URL: en för den aktuella sidan med hjälp av en ternär operatör

Följande exempel visar hur du får den fullständiga URL: en för den aktuella sidan med hjälp av den ternära operatören. Skapa en PHP -fil med följande skript.

Om villkoret används i föregående exempel för att ta reda på vilket protokoll som används i webbadressen till den aktuella sidan. Samma uppgift görs med hjälp av den ternära operatorn i detta skript. borta) funktionen används för att kontrollera om $ _SERVER ['HTTPS'] är en uppsättning eller inte, och om värdet på $ _SERVER ['HTTPS'] är på, då returnerar den ternära operatören HTTPS, annars returnerar den HTTP. De andra delarna av URL: en hämtas och skrivs ut som föregående exempel.


// Ta reda på protokollet för den aktuella webbadressen
$ -protokoll = ( borta ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
== 'på'?'https' : 'http');
// Läs domännamnet för den aktuella sidan
$ domän = $ _SERVER['HTTP_HOST'];
// Läs den begärda resursen
$ resurs = $ _SERVER['REQUEST_URI'];
// Kombinera alla delar för att få hela URL -adressen
$ url = $ -protokoll.': //'.$ domän.$ resurs;
// Skriv ut URL -adressen för den aktuella sidan
kastade ut '

URL -adressen för den aktuella sidan är:

'
. $ url;
?>

Produktion:

Följande utdata visas efter att manuset har körts från servern. Värdet på $ _SERVER [‘HTTPS’] är inte för den lokala servern. Så utmatningen visar HTTP -protokollet för den aktuella URL: en.

Exempel 3: Visa webbadressen för den aktuella sidan baserat på portnummer

I de två föregående exemplen används värdet på $ _SERVER [‘HTTPS’] för att ta reda på protokollet för sidans aktuella webbadress, och ingen söksträng används med webbadressen. Följande exempel visar hur variabeln $ _SERVER [‘SERVER_PORT’] kan användas för att ta reda på protokollet och hämta hela URL -adressen med frågesträngen. Skapa en PHP -fil med följande skript.

Här används flera logiska förhållanden och ternär operatör för att ta reda på protokollet. Om värdet på $ _SERVER [‘HTTPS’] är tomt eller inställt på av, då kommer det att kontrollera värdet på $ _SERVER [‘SERVER_PORT’] för att ta reda på protokollet för den aktuella webbadressen. $ _SERVER [‘QUERY_STRING’] -variabeln används för att hämta frågesträngvärdet från webbadressen.


// Ta reda på protokollet för den aktuella webbadressen
$ -protokoll = ((! tömma ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
! = 'av') || $ _SERVER['SERVER PORT'] == 443)?'https: //' : 'http: //';
// Läs domännamnet för den aktuella sidan
$ domän = $ _SERVER['HTTP_HOST'];
// Läs den begärda resursen
$ resurs = $ _SERVER['REQUEST_URI'];
// Läs värdet på frågesträngen
$ fråga = $ _SERVER['FRÅGESTRÄNG'];
// Kombinera alla delar för att få hela URL -adressen
$ url = $ -protokoll.$ domän.$ resurs;
// Skriv ut URL -adressen för den aktuella sidan
kastade ut '

Den fullständiga URL -adressen för den aktuella sidan är:

'
. $ url;
// Skriv ut frågesträngdelen
kastade ut '

Frågesträngen är:

'
. $ fråga;
?>

Produktion:

Följande utdata visas efter att ovanstående skript har körts från servern utan någon frågesträng. Ingen sökfråga finns i webbadressen. Så utmatningen visar den tomma frågesträngen.

Följande utdata visas efter att ovanstående skript har körts från servern med frågesträngen. Följande utdata visar URL -adressen med frågesträngen och frågesträngen separat.

Slutsats

Olika sätt att hämta hela URL: en för den aktuella sidan visas i den här självstudien med hjälp av olika exempel. Sättet att separera URL: en och frågesträngen visas också i den här självstudien. Förhoppningsvis kommer denna handledning att hjälpa läsarna att veta sättet att läsa hela URL: en för den aktuella sidan med PHP -skriptet.