php

Haal de volledige URL op in PHP

Haal de volledige URL op in PHP
Er kunnen twee soorten globale variabelen worden gebruikt in PHP: 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. Als $_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 te krijgen 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. isset() 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
$resource = $_SERVER['REQUEST_URI'];
// Ontdek het protocol van de huidige url
if(isset($_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
echo "

Het URL-adres van de huidige
pagina is:

". $url;?>

Uitgang:

De volgende uitvoer zal verschijnen 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 te krijgen met behulp van de ternaire operator. Maak een PHP-bestand met het volgende script:.

Als 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 gedaan met behulp van de ternaire operator in dit script. isset() functie wordt gebruikt om te controleren of de $_SERVER['HTTPS'] een set is of niet, en of de waarde van $_SERVER['HTTPS'] is Aan, dan retourneert de ternaire operator HTTPS, anders retourneert het HTTP. De andere delen van de URL worden opgehaald en afgedrukt zoals in het vorige voorbeeld.

// Ontdek het protocol van de huidige url
$protocol = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS']
== 'aan' ? "https" : "http");
// Lees de domeinnaam van de huidige pagina
$domain =  $_SERVER['HTTP_HOST'];
//Lees de gevraagde bron
$resource = $_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
echo "

Het URL-adres van de huidige pagina is:

". $url;
?>

Uitgang:

De volgende uitvoer zal verschijnen 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 op te halen met de queryreeks. 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. $_SERVER['QUERY_STRING'] variabele 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_PORT'] == 443) ? "https://" : "http://";
// Lees de domeinnaam van de huidige pagina
$domain =  $_SERVER['HTTP_HOST'];
// Lees de gevraagde bron
$resource = $_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
echo "

Het volledige URL-adres van de huidige pagina is:

". $url;
// Druk het gedeelte van de queryreeks af
echo "

De queryreeks is:

". $vraag;
?>

Uitgang:

De volgende uitvoer verschijnt na het uitvoeren van het bovenstaande script vanaf de server zonder enige queryreeks:. Er is geen queryreeks in de URL. 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 queryreeks en de queryreeks afzonderlijk:.

Conclusie

In deze zelfstudie worden verschillende manieren getoond om de volledige URL van de huidige pagina op te halen aan de hand van verschillende voorbeelden. De manier om de URL en de queryreeks te scheiden, wordt ook getoond in deze zelfstudie. 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.

Hoe de linker- en rechtermuisknop op Windows 10 pc te veranderen
Het is nogal een norm dat alle computermuisapparaten ergonomisch zijn ontworpen voor rechtshandige gebruikers. Maar er zijn muisapparaten beschikbaar ...
Emuleer muisklikken door te zweven met Clickless Mouse in Windows 10
Het gebruik van een muis of toetsenbord in de verkeerde houding of overmatig gebruik kan leiden tot veel gezondheidsproblemen, waaronder spanning, car...
Voeg muisbewegingen toe aan Windows 10 met deze gratis tools
In de afgelopen jaren zijn computers en besturingssystemen sterk geëvolueerd. Er was een tijd dat gebruikers opdrachten moesten gebruiken om door best...