Szükséges változók
A következő szuperglobális változókra van szükség az aktuális oldal URL-címének megismeréséhez.
Szuperglobális változók | Célok |
---|---|
$ _SERVER ['HTTPS'] | Visszatér tovább ha az aktuális oldal URL-jében HTTPS protokollt használnak. |
$ _SERVER ['HTTP_HOST'] | Visszaadja az aktuális oldal szerverének nevét. |
$ _SERVER ['REQUEST_URI'] | Visszaadja a kért erőforrás nevét. |
$ _SERVER ['SERVER_PORT'] | Visszaadja a kiszolgáló portszámát. |
$ _SERVER ['QUERY_STRING'] | Visszaadja a lekérdezési karakterlánc értékét, ha létezik az aktuális oldal URL-címében. |
1. példa: Jelenítse meg az aktuális oldal URL-jét feltételes utasítással
Az alábbi példa bemutatja, hogy a feltételes utasítás hogyan használható az aktuális oldal URL-jében használt protokoll megszerzésére. Hozzon létre egy PHP fájlt a következő szkript segítségével.
A $ _SERVER ['HTTP_HOST'] értéket használjuk az aktuális URL domainnevének lekérésére. A $ _SERVER ['REQUEST_URI'] értéke a kért erőforrás nevének megszerzésére szolgál. betű () függvény segítségével ellenőrizhető, hogy a $ _SERVER ['HTTPS'] halmaz-e, és ha be van állítva, akkor ellenőrizze a $ _SERVER ['HTTPS'] értékét tovább vagy nem. Ezután ennek a három változónak az értékét a '//:' -vel kombinálva lekérjük az aktuális oldal teljes URL-jét.
// Olvassa el az aktuális oldal domain nevét$ domain = $ _SERVER ['HTTP_HOST'];
// Olvassa el a kért erőforrást
$ erőforrás = $ _SERVER ['REQUEST_URI'];
// Tudja meg az aktuális URL protokollját
if (beszúr ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS'] === 'be')
$ protokoll = "https";
más
$ protokoll = "http";
// Az összes részt egyesítve kapja meg a teljes URL-címet
$ url = $ protokoll.": //".$ domain.$ erőforrás;
// Nyomtassa ki az aktuális oldal URL-címét
visszhang "
Az aktuális URL címe
az oldal:
". $ url;?> Kimenet:
A következő kimenet jelenik meg, miután a parancsfájlt futtatta a szerverről. A $ _SERVER ['HTTPS'] értéke nem tovább a helyi szerver számára. Tehát a kimenet a http protokoll az aktuális URL-hez.
2. példa: Jelenítse meg az aktuális oldal URL-jét háromszintű operátorral
A következő példa bemutatja az aktuális oldal teljes URL-jének lekérésének módját a háromszintű operátor használatával. Hozzon létre egy PHP fájlt a következő szkript segítségével.
Ha a feltételt az előző példa arra használja, hogy megtudja, melyik protokollt használja az aktuális oldal URL-je. Ugyanezt a feladatot hajtják végre a szkript háromszintű operátorával. betű () függvény segítségével ellenőrizhető, hogy a $ _SERVER ['HTTPS'] készlet-e vagy sem, és hogy a $ _SERVER ['HTTPS'] értéke tovább, akkor a háromszintű operátor visszaadja a HTTPS-t, különben a HTTP-t. Az URL többi részét lekérjük és kinyomtatjuk, az előző példához hasonlóan.
// Tudja meg az aktuális URL protokollját$ protocol = (beszúr ($ _ SERVER ['HTTPS']) && $ _SERVER ['HTTPS']
== 'be' ? "https": "http");
// Olvassa el az aktuális oldal domain nevét
$ domain = $ _SERVER ['HTTP_HOST'];
// Olvassa el a kért erőforrást
$ erőforrás = $ _SERVER ['REQUEST_URI'];
// Az összes részt egyesítve kapja meg a teljes URL-címet
$ url = $ protokoll.": //".$ domain.$ erőforrás;
// Nyomtassa ki az aktuális oldal URL-címét
visszhang "
Az aktuális oldal URL-címe:
". $ url;?>
Kimenet:
A következő kimenet jelenik meg, miután a parancsfájlt futtatta a szerverről. A (z) $ _SERVER ['HTTPS'] értéke nem tovább a helyi szerver számára. Tehát a kimenet az aktuális URL HTTP protokollját mutatja.
3. példa: Jelenítse meg az aktuális oldal URL-jét a portszám alapján
Az előző két példában a $ _SERVER ['HTTPS'] értéket használják az oldal aktuális URL-jének protokolljának megismerésére, és az URL-hez nem használnak lekérdezési karakterláncot. A következő példa bemutatja, hogyan lehet az $ _SERVER ['SERVER_PORT'] változót megtudni a protokollról és lekérdezni a teljes URL-címet a lekérdezési karakterlánccal. Hozzon létre egy PHP fájlt a következő szkript segítségével.
Itt több logikai feltételt és háromszintű operátort használnak a protokoll megismerésére. Ha a $ _SERVER ['HTTPS'] értéke üres vagy értéke ki, akkor ellenőrzi a $ _SERVER ['SERVER_PORT'] értékét, hogy megtudja az aktuális URL protokollját. A $ _SERVER ['QUERY_STRING'] változó a lekérdezési karakterlánc értékének lekérésére szolgál az URL-ből.
// Tudja meg az aktuális URL protokollját$ protokoll = ((!üres ($ _ SERVER ['HTTPS']) és & $ _SERVER ['HTTPS']
!= 'ki') || $ _SERVER ['SERVER_PORT'] == 443) ? "https: //": "http: //";
// Olvassa el az aktuális oldal domain nevét
$ domain = $ _SERVER ['HTTP_HOST'];
// Olvassa el a kért erőforrást
$ erőforrás = $ _SERVER ['REQUEST_URI'];
// Olvassa el a lekérdezési karakterlánc értékét
$ query = $ _SERVER ['QUERY_STRING'];
// Az összes részt egyesítve kapja meg a teljes URL-címet
$ url = $ protokoll.$ domain.$ erőforrás;
// Nyomtassa ki az aktuális oldal URL-címét
visszhang "
Az aktuális oldal teljes URL-címe:
". $ url;// Nyomtassa ki a lekérdezés karakterlánc részét
visszhang "
A lekérdezési karakterlánc:
". $ lekérdezés;?>
Kimenet:
A következő kimenet jelenik meg, miután a fenti parancsfájlt lekérdezési karakterlánc nélkül futtatta a szerverről. Az URL-ben nem szerepel lekérdezési karakterlánc. Tehát a kimenet az üres lekérdezési karakterláncot mutatja.
A következő kimenet jelenik meg, miután a fenti parancsfájlt végrehajtotta a szerverről a lekérdezési karakterlánccal. A következő kimenet külön mutatja az URL-címet a lekérdezési karakterlánccal és a lekérdezési karakterlánccal.
Következtetés
Az oktatóanyag különféle példák segítségével mutatja be az aktuális oldal teljes URL-jének lekérésének különböző módjait. Az URL és a lekérdezési karakterlánc elválasztásának módja szintén ebben az oktatóanyagban látható. Remélhetőleg ez az oktatóanyag segít az olvasóknak megismerni az aktuális oldal teljes URL-jének olvasási módját a PHP szkript segítségével.