Gaukite visą URL PHP

Retrieve Full Url Php



PHP gali būti naudojami dviejų tipų visuotiniai kintamieji: superglobalinis kintamasis ir vartotojo apibrėžtas kintamasis. $ _SERVER yra visuotinis masyvo kintamasis, naudojamas visam dabartinio puslapio keliui nuskaityti. Norint gauti visą puslapio URL, taip pat reikalingas URL protokolas (HTTP arba HTTPS). Jei $ _SERVER [„HTTPS“] grįžta 'Įjungtas', tada HTTPS bus naudojamas su URL adresu, kitaip HTTP Bus panaudota. Kaip galima gauti visą dabartinio puslapio URL adresą naudojant $ _SERVER masyvas buvo paaiškintas šioje pamokoje.

Būtini kintamieji

Norint sužinoti dabartinio puslapio URL adresą, reikalingi šie visuotiniai kintamieji.







Superglobaliniai kintamieji Tikslai
$ _SERVER [„HTTPS“] Tai grįžta ant jei dabartinio puslapio URL naudojamas HTTPS protokolas.
$ _SERVER [’HTTP_HOST’] Pateikiamas dabartinio puslapio serverio pavadinimas.
$ _SERVER ['REQUEST_URI'] Pateikia prašomą ištekliaus pavadinimą.
$ _SERVER [„SERVER_PORT“] Tai grąžina serverio prievado numerį.
$ _SERVER [„QUERY_STRING“] Ji grąžina užklausos eilutės reikšmę, jei ji yra dabartinio puslapio URL adrese.

1 pavyzdys: rodykite dabartinio puslapio URL naudodami sąlyginį teiginį

Toliau pateiktame pavyzdyje parodyta, kaip galima naudoti sąlyginį teiginį, norint gauti protokolą, naudojamą dabartinio puslapio URL. Sukurkite PHP failą naudodami šį scenarijų.



$ _SERVER [’HTTP_HOST’] vertė naudojama norint gauti dabartinio URL domeno pavadinimą. $ _SERVER [’REQUEST_URI’] vertė naudojama norint gauti prašomo ištekliaus pavadinimą. dingo) funkcija naudojama patikrinti, ar $ _SERVER ['HTTPS'] yra rinkinys, ar ne, o jei nustatyta, tada patikrinkite $ _SERVER ['HTTPS'] vertę ant arba ne. Toliau šių trijų kintamųjų reikšmės sujungiamos su „//:“, kad būtų gautas visas dabartinio puslapio URL.




// Skaityti dabartinio puslapio domeno pavadinimą
$ domenas = $ _SERVER[„HTTP_HOST“];
// Skaityti prašomą šaltinį
$ išteklių = $ _SERVER[„REQUEST_URI“];
// Sužinokite dabartinio URL protokolą
jei( dingo ($ _SERVER[„HTTPS“]) && $ _SERVER[„HTTPS“] === 'įjungtas')
$ protokolas = „https“;
Kitas
$ protokolas = „http“;

// Sujunkite visas dalis, kad gautumėte visą URL adresą
$ url = $ protokolas.': //'.$ domenas.$ išteklių;
// Spausdinti dabartinio puslapio URL adresą
išmetė '

Dabartinio URL adresas
puslapis yra:

'
. $ url;?>

Išėjimas:





Paleidus scenarijų iš serverio, pasirodys ši išvestis. $ _SERVER [„HTTPS“] vertė nėra ant vietiniam serveriui. Taigi išvestis rodo http dabartinio URL protokolą.



2 pavyzdys: rodykite dabartinio puslapio URL naudodami trinarį operatorių

Šis pavyzdys parodo būdą, kaip gauti visą dabartinio puslapio URL naudojant trejopą operatorių. Sukurkite PHP failą naudodami šį scenarijų.

Jei sąlyga naudojama ankstesniame pavyzdyje, norint sužinoti, kuris protokolas naudojamas dabartinio puslapio URL. Ta pati užduotis atliekama naudojant šio scenarijaus trišakį operatorių. dingo) funkcija naudojama patikrinti, ar $ _SERVER [„HTTPS“] yra nustatytas, ar ne, ir ar $ _SERVER [„HTTPS“] vertė yra ant, tada trejopas operatorius grąžins HTTPS, kitaip - HTTP. Kitos URL dalys yra paimamos ir atspausdinamos kaip ankstesnis pavyzdys.


// Sužinokite dabartinio URL protokolą
$ protokolas = ( dingo ($ _SERVER[„HTTPS“]) && $ _SERVER[„HTTPS“]
== 'įjungtas'?„https“ : „http“);
// Skaityti dabartinio puslapio domeno pavadinimą
$ domenas = $ _SERVER[„HTTP_HOST“];
// Skaityti prašomą šaltinį
$ išteklių = $ _SERVER[„REQUEST_URI“];
// Sujunkite visas dalis, kad gautumėte visą URL adresą
$ url = $ protokolas.': //'.$ domenas.$ išteklių;
// Spausdinti dabartinio puslapio URL adresą
išmetė '

Dabartinio puslapio URL adresas yra:

'
. $ url;
?>

Išėjimas:

Paleidus scenarijų iš serverio, pasirodys ši išvestis. $ _SERVER [„HTTPS“] vertė nėra ant vietiniam serveriui. Taigi išvestis rodo dabartinio URL HTTP protokolą.

3 pavyzdys: rodykite dabartinio puslapio URL pagal prievado numerį

Ankstesniuose dviejuose pavyzdžiuose $ _SERVER [„HTTPS“] vertė naudojama norint sužinoti dabartinio puslapio URL protokolą, o su URL nenaudojama jokia užklausos eilutė. Šiame pavyzdyje parodyta, kaip kintamąjį $ _SERVER ['SERVER_PORT'] galima naudoti norint sužinoti protokolą ir gauti visą URL adresą su užklausos eilute. Sukurkite PHP failą naudodami šį scenarijų.

Čia protokolui išsiaiškinti naudojamos kelios loginės sąlygos ir trejopas operatorius. Jei $ _SERVER [„HTTPS“] vertė tuščia arba nustatyta kaip išjungtas, tada ji patikrins $ _SERVER ['SERVER_PORT'] vertę, kad sužinotų dabartinio URL protokolą. $ _SERVER [‘QUERY_STRING’] kintamasis naudojamas norint gauti užklausos eilutės vertę iš URL.


// Sužinokite dabartinio URL protokolą
$ protokolas = ((! tuščia ($ _SERVER[„HTTPS“]) && $ _SERVER[„HTTPS“]
! = 'išjungtas') || $ _SERVER[„SERVER_PORT“] == 443)?„https: //“ : „http: //“;
// Skaityti dabartinio puslapio domeno pavadinimą
$ domenas = $ _SERVER[„HTTP_HOST“];
// Skaityti prašomą šaltinį
$ išteklių = $ _SERVER[„REQUEST_URI“];
// Skaitykite užklausos eilutės reikšmę
$ užklausa = $ _SERVER[„QUERY_STRING“];
// Sujunkite visas dalis, kad gautumėte visą URL adresą
$ url = $ protokolas.$ domenas.$ išteklių;
// Spausdinti dabartinio puslapio URL adresą
išmetė '

Visas dabartinio puslapio URL adresas yra:

'
. $ url;
// Spausdinti užklausos eilutės dalį
išmetė '

Užklausos eilutė yra tokia:

'
. $ užklausa;
?>

Išėjimas:

Toliau pateikta išvestis pasirodys įvykdžius aukščiau esantį scenarijų iš serverio be jokios užklausos eilutės. URL nepateikiama užklausos eilutė. Taigi išvestis rodo tuščią užklausos eilutę.

Toliau pateikta išvestis pasirodys atlikus aukščiau esantį scenarijų iš serverio su užklausos eilute. Toliau išvestyje rodomas URL adresas su užklausos eilute ir užklausos seka atskirai.

Išvada

Šiame vadove pateikiami įvairūs būdai, kaip gauti visą dabartinio puslapio URL, naudojant įvairius pavyzdžius. Šiame vadove taip pat parodytas būdas atskirti URL ir užklausos eilutę. Tikimės, kad ši pamoka padės skaitytojams sužinoti, kaip perskaityti visą dabartinio puslapio URL naudojant PHP scenarijų.