php

Gaukite visą URL iš PHP

Gaukite visą URL iš PHP
PHP gali būti naudojami dviejų tipų visuotiniai kintamieji: superglobal kintamasis ir vartotojo apibrėžtas kintamasis. $ _SERVER yra superglobal masyvo kintamasis, naudojamas norint gauti visą dabartinio puslapio kelią. Norint gauti pilną puslapio URL, taip pat reikalingas URL protokolas (HTTP arba HTTPS). Jei $ _SERVER ['HTTPS'] grįžta „įjungta“, 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

Šių superglobalių kintamųjų reikia norint sužinoti dabartinio puslapio URL adresą.

Superglobal kintamieji Tikslai
$ _SERVER ['HTTPS'] Tai grįžta ant jei dabartinio puslapio URL naudojamas HTTPS protokolas.
$ _SERVER ['HTTP_HOST'] Jis grąžina dabartinio puslapio serverio pavadinimą.
$ _SERVER ['REQUEST_URI'] Jis grąžina prašomą išteklių pavadinimą.
$ _SERVER ['SERVER_PORT'] Jis grąžina serverio prievado numerį.
$ _SERVER ['QUERY_STRING'] Jis grąžina užklausos eilutės vertę, jei ji yra dabartinio puslapio URL adrese.

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

Šis pavyzdys parodo, kaip sąlyginis sakinys gali būti naudojamas 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 šaltinio pavadinimą. rinkinys () funkcija naudojama patikrinti, ar $ _SERVER ['HTTPS'] yra rinkinys, ar ne, ir jei nustatyta, tada patikrinkite $ _SERVER ['HTTPS'] reikšmę ant arba ne. Toliau šių trijų kintamųjų reikšmės sujungiamos su „//:“, kad būtų gautas visas dabartinio puslapio URL.

// Perskaitykite dabartinio puslapio domeno pavadinimą
$ domain = $ _SERVER ['HTTP_HOST'];
// Perskaitykite prašomą šaltinį
$ resursas = $ _SERVER ['REQUEST_URI'];
// Sužinokite dabartinio URL protokolą
jei (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS'] === 'įjungtas')
$ protokolas = "https";
Kitas
$ protokolas = "http";
// Sujunkite visas dalis, kad gautumėte visą URL adresą
$ url = $ protokolas.": //".$ domenas.$ resursas;
// Atspausdinkite dabartinio puslapio URL adresą
aidas "

Dabartinio URL adresas
puslapis yra:

". $ url;?>

Išvestis:

Ši išvestis bus rodoma paleidus scenarijų iš serverio. $ _SERVER ['HTTPS'] vertė nėra ant vietiniam serveriui. Taigi išvestis rodo http dabartinio URL protokolas.

2 pavyzdys: rodykite dabartinio puslapio URL naudodami trijų komponentų operatorių

Šiame pavyzdyje parodytas būdas gauti visą dabartinio puslapio URL naudojant trijų komponentų 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 trijų scenarijų operatorių šiame scenarijuje. rinkinys () funkcija naudojama patikrinti, ar $ _SERVER ['HTTPS'] yra rinkinys, ar ne, ir ar $ _SERVER ['HTTPS'] reikšmė yra ant, tada trinaris operatorius grąžins HTTPS, kitaip jis grąžins HTTP. Kitos URL dalys yra gaunamos ir spausdinamos kaip ir ankstesnis pavyzdys.

// Sužinokite dabartinio URL protokolą
$ protokolas = (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
== 'įjungta' ? „https“: „http“);
// Perskaitykite dabartinio puslapio domeno pavadinimą
$ domain = $ _SERVER ['HTTP_HOST'];
// Perskaitykite prašomą šaltinį
$ resursas = $ _SERVER ['REQUEST_URI'];
// Sujunkite visas dalis, kad gautumėte visą URL adresą
$ url = $ protokolas.": //".$ domenas.$ resursas;
// Atspausdinkite dabartinio puslapio URL adresą
aidas "

Dabartinio puslapio URL adresas yra:

". $ url;
?>

Išvestis:

Ši išvestis bus rodoma paleidus scenarijų iš serverio. $ _SERVER ['HTTPS'] vertė nėra ant vietiniam serveriui. Taigi išvestyje rodomas dabartinio URL HTTP protokolas.

3 pavyzdys: rodykite dabartinio puslapio URL pagal prievado numerį

Ankstesniuose dviejuose pavyzdžiuose $ _SERVER ['HTTPS'] reikšmė naudojama norint sužinoti dabartinio puslapio URL protokolą, o su URL nenaudojama jokia užklausos eilutė. Šis pavyzdys rodo, 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, norint sužinoti protokolą, naudojamos kelios loginės sąlygos ir trijų komponentų operatorius. Jei $ _SERVER ['HTTPS'] vertė tuščia arba nustatyta į išjungtas, tada jis 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ščias ($ _ SERVER ['HTTPS']) ir & $ _SERVER ['HTTPS']
!= „išjungta“) || $ _SERVER ['SERVER_PORT'] == 443) ? "https: //": "http: //";
// Perskaitykite dabartinio puslapio domeno pavadinimą
$ domain = $ _SERVER ['HTTP_HOST'];
// Perskaitykite prašomą šaltinį
$ resursas = $ _SERVER ['REQUEST_URI'];
// Perskaitykite užklausos eilutės vertę
$ užklausa = $ _SERVER ['QUERY_STRING'];
// Sujunkite visas dalis, kad gautumėte visą URL adresą
$ url = $ protokolas.$ domenas.$ resursas;
// Atspausdinkite dabartinio puslapio URL adresą
aidas "

Visas dabartinio puslapio URL adresas yra:

". $ url;
// Atspausdinkite užklausos eilutės dalį
aidas "

Užklausos eilutė yra:

". $ užklausa;
?>

Išvestis:

Ši išvestis pasirodys atlikus pirmiau nurodytą scenarijų iš serverio be užklausos eilutės. URL nėra užklausos eilutės. Taigi išvestis rodo tuščią užklausos eilutę.

Ši išvestis pasirodys atlikus pirmiau nurodytą scenarijų iš serverio su užklausos eilute. Šiame išvestyje atskirai nurodomas URL adresas su užklausos eilute ir užklausos eilute.

Išvada

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

„HD Remastered“ žaidimai, skirti „Linux“, kurie niekada anksčiau nebuvo išleisti „Linux“
Daugelis žaidimų kūrėjų ir leidėjų siūlo senų žaidimų HD remasterį, kad prailgintų franšizės laiką. Prašome gerbėjų, prašančių suderinamumo su šiuolai...
Kaip naudoti „AutoKey“, norint automatizuoti „Linux“ žaidimus
„AutoKey“ yra darbalaukio automatizavimo įrankis, skirtas „Linux“ ir „X11“, užprogramuotas „Python 3“, „GTK“ ir „Qt“. Naudodami scenarijų ir „MACRO“ f...
Kaip parodyti FPS skaitiklį „Linux“ žaidimuose
„Linux“ žaidimai gavo didelį postūmį, kai „Valve“ paskelbė „Linux“ palaikymą „Steam“ klientui ir jų žaidimams 2012 m. Nuo tada daugelis AAA ir indie ž...