Hankige täielik URL PHP -s

Retrieve Full Url Php



PHP-s saab kasutada kahte tüüpi globaalseid muutujaid: superglobaalne muutuja ja kasutaja määratud muutuja. $ _SERVER on superglobaalne massiivimuutuja, mida kasutatakse praeguse lehe täieliku tee hankimiseks. Lehe täieliku URL -i saamiseks on vajalik ka URL -i protokoll (HTTP või HTTPS). Kui $ _SERVER [„HTTPS”] naaseb 'peal', siis kasutatakse URL -aadressiga HTTPS -i, vastasel juhul HTTP hakatakse kasutama. Kuidas saab praeguse lehe täielikku URL -i aadressi kasutades alla laadida $ _SERVER massiivi on selles õpetuses selgitatud.

Vajalikud muutujad

Praeguse lehe URL -aadressi väljaselgitamiseks on vajalikud järgmised globaalsed muutujad.





Superglobaalsed 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 -aadressis olemas.

Näide 1: kuvage praeguse lehe URL tingimuslause abil

Järgmine näide näitab, kuidas tingimuslauset saab kasutada praeguse lehe URL -is kasutatava protokolli saamiseks. Looge järgmise skriptiga PHP -fail.



$ _SERVER [’HTTP_HOST’] väärtust kasutatakse praeguse URL -i domeeninime saamiseks. Taotletud ressursi nime saamiseks kasutatakse väärtust $ _SERVER [’REQUEST_URI’]. läinud) 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 kombineeritakse nende kolme muutuja väärtused tähega „//:”, et saada praeguse lehe täielik URL.




// Lugege praeguse lehe domeeninime
$ domeen = $ _SERVER[„HTTP_HOST”];
// Loe soovitud ressurssi
$ ressurss = $ _SERVER[„REQUEST_URI”];
// Uurige praeguse URL -i protokolli
kui( läinud ($ _SERVER[„HTTPS”]) && $ _SERVER[„HTTPS”] === 'peal')
$ protokoll = 'https';
muidu
$ protokoll = 'http';

// Täieliku URL -aadressi saamiseks ühendage kõik osad
$ url = $ protokoll.': //'.$ domeen.$ ressurss;
// Prindi praeguse lehe URL -aadress
viskas välja '

Praeguse URL -i aadress
leht on:

'
. $ url;?>

Väljund:





Pärast skripti käivitamist serverist kuvatakse järgmine väljund. $ _SERVER [„HTTPS”] väärtus ei ole peal kohaliku serveri jaoks. Nii et väljund näitab http protokolli praeguse URL -i jaoks.



Näide 2: kuvage kolmanda operaatori abil praeguse lehe URL

Järgmine näide näitab viisi, kuidas kolmanda 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 praeguse lehe URL -is kasutatakse. Sama ülesanne tehakse selle skripti kolmekordse operaatori abil. läinud) funktsiooni kasutatakse selleks, et kontrollida, kas $ _SERVER [’HTTPS’] on seatud või mitte ja kas $ _SERVER [’HTTPS’] väärtus on peal, siis tagastab kolmekordne operaator HTTPS -i, vastasel juhul tagastab HTTP. Muud URL -i osad laaditakse alla ja trükitakse nagu eelmine näide.


// Uurige praeguse URL -i protokolli
$ protokoll = ( läinud ($ _SERVER[„HTTPS”]) && $ _SERVER[„HTTPS”]
== 'peal'?'https' : 'http');
// Lugege praeguse lehe domeeninime
$ domeen = $ _SERVER[„HTTP_HOST”];
// Loe soovitud ressurssi
$ ressurss = $ _SERVER[„REQUEST_URI”];
// Täieliku URL -aadressi saamiseks ühendage kõik osad
$ url = $ protokoll.': //'.$ domeen.$ ressurss;
// Prindi praeguse lehe URL -aadress
viskas välja '

Praeguse lehe URL -aadress on järgmine:

'
. $ url;
?>

Väljund:

Pärast skripti käivitamist serverist kuvatakse järgmine väljund. $ _SERVER [„HTTPS”] väärtus ei ole peal kohaliku serveri jaoks. Seega näitab väljund praeguse URL -i HTTP -protokolli.

Näide 3: kuvage praeguse lehe URL pordi numbri alusel

Kahes eelmises näites kasutatakse lehe __SERVER [’HTTPS’] väärtust lehe praeguse URL -i protokolli väljaselgitamiseks ja URL -iga ei kasutata päringustringi. Järgmine näide näitab, kuidas muutujat $ _SERVER [’SERVER_PORT’] saab kasutada protokolli väljaselgitamiseks ja päringustringiga täieliku URL -aadressi hankimiseks. Looge järgmise skriptiga PHP -fail.

Siin kasutatakse protokolli leidmiseks mitmeid loogilisi tingimusi ja kolmekordset operaatorit. Kui $ _SERVER [„HTTPS”] väärtus on tühi või seatud väärtusele väljas, siis kontrollib see praeguse URL -i protokolli leidmiseks $ _SERVER [’SERVER_PORT’] väärtust. Muutujat $ _SERVER [‘QUERY_STRING’] kasutatakse päringustringi väärtuse toomiseks URL -ist.


// Uurige praeguse URL -i protokolli
$ protokoll = ((! tühi ($ _SERVER[„HTTPS”]) && $ _SERVER[„HTTPS”]
! = 'väljas') || $ _SERVER[„SERVER_PORT”] == 443)?'https: //' : 'http: //';
// Lugege praeguse lehe domeeninime
$ domeen = $ _SERVER[„HTTP_HOST”];
// Loe soovitud ressurssi
$ ressurss = $ _SERVER[„REQUEST_URI”];
// Päringustringi väärtuse lugemine
$ päring = $ _SERVER[„QUERY_STRING”];
// Täieliku URL -aadressi saamiseks ühendage kõik osad
$ url = $ protokoll.$ domeen.$ ressurss;
// Prindi praeguse lehe URL -aadress
viskas välja '

Praeguse lehe täielik URL -aadress on järgmine:

'
. $ url;
// Päringu stringi osa printimine
viskas välja '

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 et väljund näitab tühja päringustringi.

Järgmine väljund ilmub pärast ülaltoodud skripti täitmist serverist päringustringiga. Järgmine väljund näitab URL -i aadressi koos päringustringi ja päringustringiga eraldi.

Järeldus

Selles õpetuses on erinevaid näiteid kasutades näidatud praeguse lehe täieliku URL -i toomise erinevaid viise. Selles juhendis on näidatud ka URL -i ja päringustringi eraldamise viis. Loodetavasti aitab see õpetus lugejatel teada, kuidas PHP skripti abil praeguse lehe täielikku URL -i lugeda.