Vajalikud muutujad
Praeguse lehe URL-aadressi väljaselgitamiseks on vaja järgmisi ülemaailmseid muutujaid.
Ülemaailmsed muutujad | Eesmärgid |
---|---|
$ _SERVER ['HTTPS'] | See naaseb peal kui praeguse lehe URL-is kasutatakse HTTPS-protokolli. |
$ _SERVER ['HTTP_HOST'] | See tagastab praeguse lehe serveri nime. |
$ _SERVER ['REQUEST_URI'] | See tagastab soovitud ressursi nime. |
$ _SERVER ['SERVER_PORT'] | See tagastab serveri pordi numbri. |
$ _SERVER ['QUERY_STRING'] | See tagastab päringustringi väärtuse, kui see on praeguse lehe URL-i aadressis olemas. |
Näide 1: kuvage praeguse lehe URL tingimuslausega
Järgmine näide näitab, kuidas tingimuslauset saab kasutada praeguse lehe URL-is kasutatud protokolli saamiseks. Looge järgmise skriptiga PHP-fail.
Väärtust $ _SERVER ['HTTP_HOST'] kasutatakse praeguse URL-i domeeninime saamiseks. Taotletud ressursi nime saamiseks kasutatakse väärtust $ _SERVER ['REQUEST_URI']. isset () Funktsiooni kasutatakse selleks, et kontrollida, kas $ _SERVER ['HTTPS'] on komplekt või mitte, ja kui see on määratud, siis kontrollige $ _SERVER ['HTTPS'] väärtust, kas see on peal või mitte. Järgmisena ühendatakse nende kolme muutuja väärtused tähega '//:', et hankida praeguse lehe täielik URL.
// Lugege praeguse lehe domeeninime$ domain = $ _SERVER ['HTTP_HOST'];
// Lugege taotletud ressurssi
$ ressurss = $ _SERVER ['REQUEST_URI'];
// Uurige praeguse URL-i protokolli
if (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS'] === 'sees')
$ protokoll = "https";
muud
$ protokoll = "http";
// Kombineerige kõik osad, et saada täielik URL-aadress
$ url = $ protokoll.": //".$ domeen.$ ressurss;
// Prindi praeguse lehe URL-i aadress
kaja "
Praeguse URL-i aadress
leht on:
". $ url;?> Väljund:
Järgmine väljund ilmub pärast skripti käivitamist serverist. $ _SERVER ['HTTPS'] väärtus pole peal kohaliku serveri jaoks. Nii et väljund näitab http praeguse URL-i protokoll.
Näide 2: kuvage kolmepoolse operaatori abil praeguse lehe URL
Järgmine näide näitab, kuidas kolmepoolse operaatori abil saada praeguse lehe täielik URL. Looge järgmise skriptiga PHP-fail.
Kui tingimust kasutatakse eelmises näites, et teada saada, millist protokolli kasutatakse praeguse lehe URL-is. Sama ülesanne tehakse selles skriptis kolmekordse operaatori abil. isset () Funktsiooni kasutatakse selleks, et kontrollida, kas $ _SERVER ['HTTPS'] on komplekt või mitte, ja kas $ _SERVER ['HTTPS'] väärtus on peal, siis kolmepoolne operaator tagastab HTTPS-i, vastasel juhul tagastab HTTP. Ülejäänud URL-i osad leitakse ja prinditakse nagu eelmises näites.
// Uurige praeguse URL-i protokolli$ protokoll = (isset ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
== 'sees' ? "https": "http");
// Lugege praeguse lehe domeeninime
$ domeen = $ _SERVER ['HTTP_HOST'];
// Lugege taotletud ressurssi
$ ressurss = $ _SERVER ['REQUEST_URI'];
// Kombineerige kõik osad, et saada täielik URL-aadress
$ url = $ protokoll.": //".$ domeen.$ ressurss;
// Prindi praeguse lehe URL-i aadress
kaja "
Praeguse lehe URL-i aadress on:
". $ url;?>
Väljund:
Järgmine väljund ilmub pärast skripti käivitamist serverist. $ _SERVER ['HTTPS'] väärtus pole peal kohaliku serveri jaoks. Nii näitab väljund praeguse URL-i HTTP-protokolli.
Näide 3: kuvage praeguse lehe URL pordinumbri põhjal
Kahes eelmises näites kasutatakse lehe praeguse URL-i protokolli väljaselgitamiseks väärtust $ _SERVER ['HTTPS'] ja URL-iga ei kasutata ühtegi päringustringi. Järgmine näide näitab, kuidas muutujat $ _SERVER ['SERVER_PORT'] saab kasutada protokolli leidmiseks ja päringustringiga kogu URL-i toomiseks. Looge järgmise skriptiga PHP-fail.
Siin kasutatakse protokolli väljaselgitamiseks mitut loogilist tingimust ja kolmekordset operaatorit. Kui $ _SERVER ['HTTPS'] väärtus on tühi või määratud väljas, siis kontrollib see $ _SERVER ['SERVER_PORT'] väärtust, et teada saada praeguse URL-i protokoll. Muutujat $ _SERVER ['QUERY_STRING'] kasutatakse päringustringi väärtuse otsimiseks URL-ist.
// Uurige praeguse URL-i protokolli$ protokoll = ((!tühi ($ _ SERVER ['HTTPS']) ja & $ _SERVER ['HTTPS']
!= 'väljas') || $ _SERVER ['SERVER_PORT'] == 443) ? "https: //": "http: //";
// Lugege praeguse lehe domeeninime
$ domeen = $ _SERVER ['HTTP_HOST'];
// Lugege taotletud ressurssi
$ ressurss = $ _SERVER ['REQUEST_URI'];
// Loe päringustringi väärtus
$ query = $ _SERVER ['QUERY_STRING'];
// Kombineerige kõik osad, et saada täielik URL-aadress
$ url = $ protokoll.$ domeen.$ ressurss;
// Prindi praeguse lehe URL-i aadress
kaja "
Praeguse lehe täielik URL-i aadress on:
". $ url;// Prindige stringi osa
kaja "
Päringu string on:
". $ päring;?>
Väljund:
Järgmine väljund ilmub pärast ülaltoodud skripti käivitamist serverist ilma päringustringita. URL-is pole päringustringi. Nii näitab väljund tühja päringustringi.
Järgmine väljund ilmub pärast ülaltoodud skripti käivitamist serverist päringustringiga. Järgmine väljund näitab URL-aadressi koos päringustringiga ja päringustringiga eraldi.
Järeldus
Selles õpetuses kuvatakse mitmesuguste näidete abil praeguse lehe täieliku URL-i hankimise erinevad viisid. Selles õpetuses on näidatud ka URL-i ja päringustringi eraldamise viis. Loodetavasti aitab see õpetus lugejatele teada, kuidas lugeda praeguse lehe täielikku URL-i PHP-skripti abil.