Haal de volledige URL op in PHP

Retrieve Full Url Php



In PHP kunnen twee soorten globale variabelen worden gebruikt: de superglobale variabele en de door de gebruiker gedefinieerde variabele. $_SERVER is een superglobale arrayvariabele die wordt gebruikt om het volledige pad van de huidige pagina op te halen. Het protocol (HTTP of HTTPS) van de URL is ook vereist om de volledige URL van de pagina te krijgen. Indien $_SERVER[‘HTTPS’] geeft terug 'Aan', dan wordt HTTPS gebruikt met het URL-adres, anders HTTP zal gebruikt worden. Hoe het volledige URL-adres van de huidige pagina kan worden opgehaald met behulp van de $_SERVER array is uitgelegd in deze tutorial.

Noodzakelijke variabelen

De volgende superglobale variabelen zijn vereist om het URL-adres van de huidige pagina te achterhalen.







Superglobale variabelen doeleinden
$_SERVER[‘HTTPS’] Het keert terug Aan als HTTPS-protocol wordt gebruikt in de URL van de huidige pagina.
$_SERVER[‘HTTP_HOST’] Het retourneert de naam van de server van de huidige pagina.
$_SERVER[‘REQUEST_URI’] Het retourneert de gevraagde resourcenaam.
$_SERVER[‘SERVER_PORT’] Het retourneert het poortnummer van de server.
$_SERVER['QUERY_STRING'] Het retourneert de waarde van de queryreeks als deze bestaat in het URL-adres van de huidige pagina.

Voorbeeld 1: Geef de URL van de huidige pagina weer met een voorwaardelijke instructie

Het volgende voorbeeld laat zien hoe de voorwaardelijke instructie kan worden gebruikt om het protocol op te halen dat wordt gebruikt in de URL van de huidige pagina. Maak een PHP-bestand met het volgende script.



De waarde van $_SERVER[‘HTTP_HOST’] wordt gebruikt om de domeinnaam van de huidige URL te krijgen. De waarde van $_SERVER[‘REQUEST_URI’] wordt gebruikt om de naam van de gevraagde resource te krijgen. weg) functie wordt gebruikt om te controleren of de $_SERVER[‘HTTPS’] een set is of niet, en indien ingesteld, controleer dan de waarde van $_SERVER[‘HTTPS’] is het Aan of niet. Vervolgens worden de waarden van deze drie variabelen gecombineerd met ‘//:’ om de volledige URL van de huidige pagina op te halen.




// Lees de domeinnaam van de huidige pagina
$domein = $_SERVER['HTTP_HOST'];
//Lees de gevraagde bron
$bron = $_SERVER['REQUEST_URI'];
// Ontdek het protocol van de huidige url
indien( weg ($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'Aan')
$protocol = 'https';
anders
$protocol = 'http';

// Combineer alle onderdelen om het volledige URL-adres te krijgen
$url = $protocol.': //'.$domein.$bron;
// Druk het URL-adres van de huidige pagina af
gooide uit '

Het URL-adres van de huidige
pagina is:

'
. $url;?>

Uitgang:





De volgende uitvoer verschijnt nadat het script vanaf de server is uitgevoerd. De waarde van $_SERVER[‘HTTPS’] is niet Aan voor de lokale server. Dus de uitvoer toont de http protocol voor de huidige URL.



Voorbeeld 2: Geef de URL van de huidige pagina weer met behulp van de ternaire operator

Het volgende voorbeeld toont de manier om de volledige URL van de huidige pagina op te halen met behulp van de ternaire operator. Maak een PHP-bestand met het volgende script.

Indien de voorwaarde wordt in het vorige voorbeeld gebruikt om erachter te komen welk protocol wordt gebruikt in de URL van de huidige pagina. Dezelfde taak wordt uitgevoerd met behulp van de ternaire operator in dit script. weg) functie wordt gebruikt om te controleren of de $_SERVER[‘HTTPS’] een set is of niet, en of de waarde van $_SERVER[‘HTTPS’] Aan, dan zal de ternaire operator HTTPS retourneren, anders zal het HTTP retourneren. De andere delen van de URL worden opgehaald en afgedrukt zoals in het vorige voorbeeld.


// Ontdek het protocol van de huidige url
$protocol = ( weg ($_SERVER['HTTPS']) && $_SERVER['HTTPS']
== 'Aan'?'https' : 'http');
// Lees de domeinnaam van de huidige pagina
$domein = $_SERVER['HTTP_HOST'];
//Lees de gevraagde bron
$bron = $_SERVER['REQUEST_URI'];
// Combineer alle onderdelen om het volledige URL-adres te krijgen
$url = $protocol.': //'.$domein.$bron;
// Druk het URL-adres van de huidige pagina af
gooide uit '

Het URL-adres van de huidige pagina is:

'
. $url;
?>

Uitgang:

De volgende uitvoer verschijnt nadat het script vanaf de server is uitgevoerd. De waarde van $_SERVER[‘HTTPS’] is niet Aan voor de lokale server. Dus de uitvoer toont het HTTP-protocol voor de huidige URL.

Voorbeeld 3: Geef de URL van de huidige pagina weer op basis van poortnummer

In de vorige twee voorbeelden wordt de waarde van $_SERVER[‘HTTPS’] gebruikt om het protocol van de huidige URL van de pagina te achterhalen, en er wordt geen querystring gebruikt met de URL. Het volgende voorbeeld laat zien hoe de variabele $_SERVER[‘SERVER_PORT’] kan worden gebruikt om het protocol te achterhalen en het volledige URL-adres met de queryreeks op te halen. Maak een PHP-bestand met het volgende script.

Hier worden meerdere logische voorwaarden en ternaire operator gebruikt om het protocol te achterhalen. Als de waarde van $_SERVER[‘HTTPS’] leeg is of is ingesteld op uit, dan zal het de waarde van $_SERVER[‘SERVER_PORT’] controleren om het protocol van de huidige URL te achterhalen. De variabele $_SERVER[‘QUERY_STRING’] wordt gebruikt om de waarde van de queryreeks uit de URL op te halen.


// Ontdek het protocol van de huidige url
$protocol = ((! leeg ($_SERVER['HTTPS']) && $_SERVER['HTTPS']
! = 'uit') || $_SERVER['SERVER POORT'] == 443)?'https: //' : 'http: //';
// Lees de domeinnaam van de huidige pagina
$domein = $_SERVER['HTTP_HOST'];
// Lees de gevraagde bron
$bron = $_SERVER['REQUEST_URI'];
// Lees de waarde van de queryreeks
$query = $_SERVER['QUERY_STRING'];
// Combineer alle onderdelen om het volledige URL-adres te krijgen
$url = $protocol.$domein.$bron;
// Druk het URL-adres van de huidige pagina af
gooide uit '

Het volledige URL-adres van de huidige pagina is:

'
. $url;
// Druk het gedeelte van de queryreeks af
gooide uit '

De queryreeks is:

'
. $query;
?>

Uitgang:

De volgende uitvoer verschijnt na het uitvoeren van het bovenstaande script vanaf de server zonder enige queryreeks. De URL bevat geen zoekreeks. Dus de uitvoer toont de lege queryreeks.

De volgende uitvoer verschijnt na het uitvoeren van het bovenstaande script vanaf de server met de queryreeks. De volgende uitvoer toont het URL-adres met de querytekenreeks en de queryreeks afzonderlijk.

Conclusie

Verschillende manieren om de volledige URL van de huidige pagina op te halen, worden in deze tutorial getoond aan de hand van verschillende voorbeelden. De manier om de URL en de queryreeks te scheiden, wordt ook in deze zelfstudie getoond. Hopelijk helpt deze tutorial de lezers de manier te kennen om de volledige URL van de huidige pagina te lezen met behulp van het PHP-script.