Kunin ang Buong URL sa PHP

Retrieve Full Url Php



Dalawang uri ng mga pandaigdigang variable ay maaaring magamit sa PHP: ang superglobal variable at ang variable na tinukoy ng gumagamit. $ _SERVER ay isang variable na superglobal array na ginagamit upang makuha ang buong landas ng kasalukuyang pahina. Ang protocol (HTTP o HTTPS) ng URL ay kinakailangan din upang makuha ang buong URL ng pahina. Kung $ _SERVER [‘HTTPS’] nagbabalik 'On', pagkatapos ay gagamitin ang HTTPS kasama ang URL address, kung hindi man, HTTP gagamitin. Paano maaaring makuha ang buong address ng URL ng kasalukuyang pahina gamit ang $ _SERVER ang array ay naipaliwanag sa tutorial na ito.

Mga Kinakailangan na variable

Ang mga sumusunod na variable ng superglobal ay kinakailangan upang malaman ang address ng URL ng kasalukuyang pahina.







Mga variable na Superglobal Mga Layunin
$ _SERVER [‘HTTPS’] Nagbabalik ito sa kung ginamit ang HTTPS protocol sa URL ng kasalukuyang pahina.
$ _SERVER [‘HTTP_HOST’] Ibinabalik nito ang pangalan ng server ng kasalukuyang pahina.
$ _SERVER [‘REQUEST_URI’] Ibinabalik nito ang hiniling na pangalan ng mapagkukunan.
$ _SERVER [‘SERVER_PORT’] Ibinabalik nito ang numero ng port ng server.
$ _SERVER [‘QUERY_STRING’] Ibinabalik nito ang halaga ng query string kung mayroon ito sa URL address ng kasalukuyang pahina.

Halimbawa 1: Ipakita ang URL ng kasalukuyang pahina gamit ang isang kondisyong pahayag

Ipinapakita ng sumusunod na halimbawa kung paano maaaring magamit ang kondisyong pahayag upang magamit ang protokol na ginamit sa URL ng kasalukuyang pahina. Lumikha ng isang file na PHP kasama ang sumusunod na script.



Ang halaga ng $ _SERVER [‘HTTP_HOST’] ay ginagamit upang makuha ang pangalan ng domain ng kasalukuyang URL. Ang halaga ng $ _SERVER [‘REQUEST_URI’] ay ginagamit upang makuha ang pangalan ng hiniling na mapagkukunan. wala na Ginagamit ang pagpapaandar upang suriin kung ang $ _SERVER [‘HTTPS’] ay isang set o hindi, at kung nakatakda, suriin ang halaga ng $ _SERVER [‘HTTPS’] ito ba sa o hindi. Susunod, ang mga halaga ng tatlong variable na ito ay pinagsama sa ‘//:’ upang makuha ang buong URL ng kasalukuyang pahina.




// Basahin ang domain name ng kasalukuyang pahina
$ domain = $ _SERVER['HTTP_HOST'];
// Basahin ang hiniling na mapagkukunan
$ mapagkukunan = $ _SERVER['REQUEST_URI'];
// Alamin ang protokol ng kasalukuyang url
kung( wala na ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS'] === 'sa')
$ protokol = 'https';
iba pa
$ protokol = 'http';

// Pagsamahin ang lahat ng mga bahagi upang makuha ang buong URL address
$ url = $ protokol.': //'.$ domain.$ mapagkukunan;
// I-print ang URL address ng kasalukuyang pahina
itinapon '

Ang URL address ng kasalukuyang
ang pahina ay:

'
. $ url;?>

Output:





Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script mula sa server. Ang halaga ng $ _SERVER [‘HTTPS’] ay hindi sa para sa lokal na server. Kaya't ang output ay nagpapakita ng http protocol para sa kasalukuyang URL.



Halimbawa 2: Ipakita ang URL ng kasalukuyang pahina gamit ang ternary operator

Ipinapakita ng sumusunod na halimbawa ang paraan upang makuha ang buong URL ng kasalukuyang pahina gamit ang ternary operator. Lumikha ng isang file na PHP kasama ang sumusunod na script.

Kung ang kundisyon ay ginamit sa nakaraang halimbawa upang malaman kung aling protokol ang ginagamit sa URL ng kasalukuyang pahina. Ang parehong gawain ay tapos na gamit ang ternary operator sa script na ito. wala na Ginagamit ang pagpapaandar upang suriin kung ang $ _SERVER [‘HTTPS’] ay isang set o hindi, at kung ang halagang $ _SERVER [‘HTTPS’] ay sa, pagkatapos ay ibabalik ng ternary operator ang HTTPS, kung hindi man ay ibabalik nito ang HTTP. Ang iba pang mga bahagi ng URL ay nakuha at naka-print tulad ng nakaraang halimbawa.


// Alamin ang protokol ng kasalukuyang url
$ protokol = ( wala na ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
== 'sa'?'https' : 'http');
// Basahin ang domain name ng kasalukuyang pahina
$ domain = $ _SERVER['HTTP_HOST'];
// Basahin ang hiniling na mapagkukunan
$ mapagkukunan = $ _SERVER['REQUEST_URI'];
// Pagsamahin ang lahat ng mga bahagi upang makuha ang buong URL address
$ url = $ protokol.': //'.$ domain.$ mapagkukunan;
// I-print ang URL address ng kasalukuyang pahina
itinapon '

Ang URL address ng kasalukuyang pahina ay:

'
. $ url;
?>

Output:

Lilitaw ang sumusunod na output pagkatapos patakbuhin ang script mula sa server. Ang halaga ng $ _SERVER [‘HTTPS’] ay hindi sa para sa lokal na server. Kaya't ang output ay nagpapakita ng HTTP protocol para sa kasalukuyang URL.

Halimbawa 3: Ipakita ang URL ng kasalukuyang pahina batay sa numero ng port

Sa nakaraang dalawang halimbawa, ang halaga ng $ _SERVER [‘HTTPS’] ay ginagamit upang malaman ang protocol ng kasalukuyang URL ng pahina, at walang string ng query ang ginamit sa URL. Ipinapakita ng sumusunod na halimbawa kung paano maaaring magamit ang variable na $ _SERVER [‘SERVER_PORT’] upang malaman ang protocol at makuha ang buong address ng URL gamit ang string ng query. Lumikha ng isang file na PHP kasama ang sumusunod na script.

Dito, maraming mga lohikal na kundisyon at ternary operator ang ginagamit upang malaman ang protokol. Kung ang halaga ng $ _SERVER [‘HTTPS’] ay walang laman o nakatakda sa off, pagkatapos susuriin nito ang halaga ng $ _SERVER [‘SERVER_PORT’] upang malaman ang protokol ng kasalukuyang URL. Ginagamit ang variable na $ _SERVER [‘QUERY_STRING’] upang makuha ang halaga ng query string mula sa URL.


// Alamin ang protokol ng kasalukuyang url
$ protokol = ((! walang laman ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
! = 'off') || $ _SERVER['SERVER_PORT'] == 443)?'https: //' : 'http: //';
// Basahin ang domain name ng kasalukuyang pahina
$ domain = $ _SERVER['HTTP_HOST'];
// Basahin ang hiniling na mapagkukunan
$ mapagkukunan = $ _SERVER['REQUEST_URI'];
// Basahin ang halaga ng query string
$ query = $ _SERVER['QUERY_STRING'];
// Pagsamahin ang lahat ng mga bahagi upang makuha ang buong URL address
$ url = $ protokol.$ domain.$ mapagkukunan;
// I-print ang URL address ng kasalukuyang pahina
itinapon '

Ang buong address ng URL ng kasalukuyang pahina ay:

'
. $ url;
// I-print ang bahagi ng query string
itinapon '

Ang string string ay:

'
. $ query;
?>

Output:

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang script sa itaas mula sa server nang walang anumang string ng query. Walang ibinigay na string ng query sa URL. Kaya't ang output ay nagpapakita ng walang laman na string ng query.

Ang sumusunod na output ay lilitaw pagkatapos ipatupad ang script sa itaas mula sa server na may query string. Ipinapakita ng sumusunod na output ang URL address na may query string at hiwalay na string ng query.

Konklusyon

Ang iba't ibang mga paraan ng pagkuha ng buong URL ng kasalukuyang pahina ay ipinapakita sa tutorial na ito sa pamamagitan ng paggamit ng iba't ibang mga halimbawa. Ang paraan upang paghiwalayin ang URL at ang query string ay ipinapakita din sa tutorial na ito. Inaasahan namin, makakatulong ang tutorial na ito sa mga mambabasa na malaman ang paraan ng pagbabasa ng buong URL ng kasalukuyang pahina gamit ang PHP script.