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