Tarvittavat muuttujat
Seuraavat superglobaalimuuttujat ovat tarpeen nykyisen sivun URL -osoitteen selvittämiseksi.
Superglobaalimuuttujat | Tarkoitukset |
---|---|
$ _SERVER [’HTTPS’] | Se palaa päällä jos nykyisen sivun URL -osoitteessa käytetään HTTPS -protokollaa. |
$ _SERVER [’HTTP_HOST’] | Se palauttaa nykyisen sivun palvelimen nimen. |
$ _SERVER [’REQUEST_URI’] | Se palauttaa pyydetyn resurssin nimen. |
$ _SERVER [’SERVER_PORT’] | Se palauttaa palvelimen portin numeron. |
$ _SERVER [’QUERY_STRING’] | Se palauttaa kyselymerkkijonon arvon, jos se on nykyisen sivun URL -osoitteessa. |
Esimerkki 1: Näytä nykyisen sivun URL -osoite ehdollisella lausekkeella
Seuraava esimerkki osoittaa, kuinka ehdollista lauseketta voidaan käyttää protokollan käyttämiseen nykyisen sivun URL -osoitteessa. Luo PHP -tiedosto seuraavalla komentosarjalla.
$ _SERVER [’HTTP_HOST’] -arvoa käytetään nykyisen URL -osoitteen verkkotunnuksen saamiseen. $ _SERVER [’REQUEST_URI’] -arvoa käytetään pyydetyn resurssin nimen saamiseen. mennyt) -toimintoa käytetään tarkistamaan onko $ _SERVER [’HTTPS’] joukko vai ei, ja jos asetettu, tarkista $ _SERVER [”HTTPS”] arvo päällä tai ei. Seuraavaksi näiden kolmen muuttujan arvot yhdistetään //: -merkillä, jotta nykyisen sivun koko URL -osoite saadaan.
// Lue nykyisen sivun verkkotunnus
$ verkkotunnus = $ _SERVER['HTTP_HOST'];
// Lue pyydetty resurssi
$ resurssi = $ _SERVER['REQUEST_URI'];
// Selvitä nykyisen URL -osoitteen protokolla
jos( mennyt ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS'] === 'päällä')
$ -protokollaa = https;
muu
$ -protokollaa = 'http';
// Yhdistä kaikki osat saadaksesi koko URL -osoitteen
$ url = $ -protokollaa.': //'.$ verkkotunnus.$ resurssi;
// Tulosta nykyisen sivun URL -osoite
heitti pois ''
Nykyisen URL -osoite
sivu on:
''. $ url;?> Lähtö:
Seuraava tulos tulee näkyviin, kun komentosarja on suoritettu palvelimelta. $ _SERVER [”HTTPS”] ei ole arvo päällä paikallista palvelinta varten. Joten lähtö näyttää http protokollaa nykyiselle URL -osoitteelle.
Esimerkki 2: Näytä nykyisen sivun URL -osoite kolminaisen operaattorin avulla
Seuraava esimerkki näyttää tavan saada nykyisen sivun koko URL -osoite kolmikantaoperaattorin avulla. Luo PHP -tiedosto seuraavalla komentosarjalla.
Jos ehtoa käytetään edellisessä esimerkissä selvittääkseen, mitä protokollaa käytetään nykyisen sivun URL -osoitteessa. Sama tehtävä suoritetaan käyttämällä tämän skriptin kolmiosaista operaattoria. mennyt) -toimintoa käytetään tarkistamaan, onko $ _SERVER [’HTTPS’] asetettu vai ei, ja onko $ _SERVER [”HTTPS”] -arvo päällä, sitten kolmivaiheinen operaattori palauttaa HTTPS -protokollan, muuten HTTP. URL -osoitteen muut osat haetaan ja tulostetaan kuten edellinen esimerkki.
// Selvitä nykyisen URL -osoitteen protokolla
$ -protokollaa = ( mennyt ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
== 'päällä'?https : 'http');
// Lue nykyisen sivun verkkotunnus
$ verkkotunnus = $ _SERVER['HTTP_HOST'];
// Lue pyydetty resurssi
$ resurssi = $ _SERVER['REQUEST_URI'];
// Yhdistä kaikki osat saadaksesi koko URL -osoitteen
$ url = $ -protokollaa.': //'.$ verkkotunnus.$ resurssi;
// Tulosta nykyisen sivun URL -osoite
heitti pois ''
Nykyisen sivun URL -osoite on:
''. $ url;?>
Lähtö:
Seuraava tulos tulee näkyviin, kun komentosarja on suoritettu palvelimelta. $ _SERVER [”HTTPS”] ei ole arvo päällä paikallista palvelinta varten. Joten tulos näyttää nykyisen URL -osoitteen HTTP -protokollan.
Esimerkki 3: Näytä nykyisen sivun URL -osoite portin numeron perusteella
Kahdessa edellisessä esimerkissä $ _SERVER [’HTTPS’] -arvoa käytetään selvittämään sivun nykyisen URL -osoitteen protokolla, eikä kyselymerkkijonoa käytetä URL -osoitteen kanssa. Seuraava esimerkki näyttää, kuinka muuttujaa $ _SERVER [’SERVER_PORT’] voidaan käyttää selvittämään protokolla ja noutamaan koko URL -osoite kyselymerkkijonolla. Luo PHP -tiedosto seuraavalla komentosarjalla.
Tässä protokollan selvittämiseen käytetään useita loogisia ehtoja ja kolmiosaista operaattoria. Jos $ _SERVER [”HTTPS”] -arvo on tyhjä tai asetettu arvoon vinossa, sitten se tarkistaa $ _SERVER [’SERVER_PORT’] -arvon selvittääkseen nykyisen URL -osoitteen protokollan. $ _SERVER [’QUERY_STRING’] -muuttujaa käytetään hakemaan merkkijonon arvo URL -osoitteesta.
// Selvitä nykyisen URL -osoitteen protokolla
$ -protokollaa = ((! tyhjä ($ _SERVER['HTTPS']) && $ _SERVER['HTTPS']
! = 'vinossa') || $ _SERVER['PALVELIMEN PORTTI'] == 443)?'https: //' : 'http: //';
// Lue nykyisen sivun verkkotunnus
$ verkkotunnus = $ _SERVER['HTTP_HOST'];
// Lue pyydetty resurssi
$ resurssi = $ _SERVER['REQUEST_URI'];
// Lue kyselyn merkkijonon arvo
$ kysely = $ _SERVER[QUERY_STRING];
// Yhdistä kaikki osat saadaksesi koko URL -osoitteen
$ url = $ -protokollaa.$ verkkotunnus.$ resurssi;
// Tulosta nykyisen sivun URL -osoite
heitti pois ''
Nykyisen sivun koko URL -osoite on:
''. $ url;// Tulosta kyselymerkkijonon osa
heitti pois ''
Kyselymerkkijono on:
''. $ kysely;?>
Lähtö:
Seuraava tulos tulee näkyviin, kun yllä oleva komentosarja on suoritettu palvelimelta ilman kyselymerkkijonoa. URL -osoitteessa ei ole kyselymerkkijonoa. Tulos näyttää siis tyhjän kyselymerkkijonon.
Seuraava tulos tulee näkyviin, kun yllä oleva komentosarja on suoritettu palvelimelta kyselymerkkijonolla. Seuraava tuloste näyttää URL -osoitteen kyselymerkkijonolla ja kyselymerkkijonolla erikseen.
Johtopäätös
Tässä opetusohjelmassa esitetään erilaisia tapoja hakea nykyisen sivun koko URL -osoite erilaisilla esimerkeillä. Tässä opetusohjelmassa esitetään myös tapa erottaa URL -osoite ja kyselymerkkijono. Toivottavasti tämä opetusohjelma auttaa lukijoita tietämään tavan lukea nykyisen sivun koko URL -osoite PHP -komentosarjan avulla.