Récupérez l'URL complète en php

Récupérez l'URL complète en php
Deux types de variables globales peuvent être utilisées dans PHP: la variable superglobale et la variable définie par l'utilisateur. $ _Server est une variable de tableau superglobal qui est utilisée pour récupérer le chemin complet de la page actuelle. Le protocole (HTTP ou HTTPS) de l'URL est également nécessaire pour obtenir l'URL complète de la page. Si $ _Server ['https'] Retour 'sur', alors les HTTP seront utilisés avec l'adresse URL, sinon, Http sera utilisé. Comment l'adresse URL complète de la page actuelle peut être récupérée à l'aide du $ _Server Array a été expliqué dans ce tutoriel.

Variables nécessaires

Les variables superglobales suivantes sont nécessaires pour découvrir l'adresse URL de la page actuelle.

Variables superglobales Objectifs
$ _Server ['https'] Il revient sur Si le protocole HTTPS est utilisé dans l'URL de la page actuelle.
$ _Server ['http_host'] Il renvoie le nom du serveur de la page actuelle.
$ _Server ['request_uri'] Il renvoie le nom de ressource demandé.
$ _Server ['server_port'] Il renvoie le numéro de port du serveur.
$ _Server ['query_string'] Il renvoie la valeur de la chaîne de requête si elle existe dans l'adresse URL de la page actuelle.

Exemple 1: Affichez l'URL de la page actuelle à l'aide d'une instruction conditionnelle

L'exemple suivant montre comment l'instruction conditionnelle peut être utilisée pour utiliser le protocole dans l'URL de la page actuelle. Créer un fichier PHP avec le script suivant.

La valeur de $ _server ['http_host'] est utilisée pour obtenir le nom de domaine de l'URL actuelle. La valeur de $ _server ['request_uri'] est utilisée pour obtenir le nom de la ressource demandée. isset () La fonction est utilisée pour vérifier si le $ _Server ['https'] est un ensemble ou non, et si défini, vérifiez la valeur de $ _Server ['https'] sur ou non. Ensuite, les valeurs de ces trois variables sont combinées avec '//:' Pour récupérer l'URL complète de la page actuelle.

// Lire le nom de domaine de la page actuelle
$ domain = $ _server ['http_host'];
// Lire la ressource demandée
$ ressource = $ _server ['request_uri'];
// découvrez le protocole de l'URL actuelle
if (isset ($ _ server ['https']) && $ _server ['https'] === 'on')
$ protocole = "https";
autre
$ protocole = "http";
// Combinez toutes les pièces pour obtenir l'adresse URL complète
$ url = $ protocole.": //".$ domaine.$ ressource;
// imprime l'adresse URL de la page actuelle
écho "

L'adresse URL du courant
La page est:

". $ url;?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script à partir du serveur. La valeur de $ _server ['https'] n'est pas sur pour le serveur local. Donc la sortie montre le http protocole pour l'URL actuelle.

Exemple 2: Afficher l'URL de la page actuelle à l'aide de l'opérateur ternaire

L'exemple suivant montre la façon d'obtenir l'URL complète de la page actuelle à l'aide de l'opérateur ternaire. Créer un fichier PHP avec le script suivant.

Si La condition est utilisée dans l'exemple précédent pour savoir quel protocole est utilisé dans l'URL de la page actuelle. La même tâche est effectuée en utilisant l'opérateur ternaire dans ce script. isset () La fonction est utilisée pour vérifier si le $ _Server ['https'] est un ensemble ou non, et si la valeur de $ _Server ['https'] est sur, Ensuite, l'opérateur ternaire renverra HTTPS, sinon il renverra HTTP. Les autres parties de l'URL sont récupérées et imprimées comme l'exemple précédent.

// découvrez le protocole de l'URL actuelle
$ protocole = (isset ($ _ serveur ['https']) && $ _server ['https']
== 'on' ? "https": "http");
// Lire le nom de domaine de la page actuelle
$ domain = $ _server ['http_host'];
// Lire la ressource demandée
$ ressource = $ _server ['request_uri'];
// Combinez toutes les pièces pour obtenir l'adresse URL complète
$ url = $ protocole.": //".$ domaine.$ ressource;
// imprime l'adresse URL de la page actuelle
écho "

L'adresse URL de la page actuelle est:

". $ url;
?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script à partir du serveur. La valeur de $ _server ['https'] n'est pas sur pour le serveur local. La sortie montre donc le protocole HTTP pour l'URL actuelle.

Exemple 3: Afficher l'URL de la page actuelle en fonction du numéro de port

Dans les deux exemples précédents, la valeur de $ _server ['https'] est utilisée pour découvrir le protocole de l'URL actuel de la page, et aucune chaîne de requête n'est utilisée avec l'URL. L'exemple suivant montre comment la variable $ _server ['server_port'] peut être utilisée pour découvrir le protocole et récupérer l'adresse URL complète avec la chaîne de requête. Créer un fichier PHP avec le script suivant.

Ici, plusieurs conditions logiques et opérateur ternaire sont utilisés pour découvrir le protocole. Si la valeur de $ _server ['https'] est vide ou définie sur désactivé, Ensuite, il vérifiera la valeur de $ _Server ['Server_port'] pour découvrir le protocole de l'URL actuelle. $ _Server ['query_string'] La variable est utilisée pour récupérer la valeur de la chaîne de requête de l'URL.

// découvrez le protocole de l'URL actuelle
$ protocole = ((!vide ($ _ server ['https']) && $ _server ['https']
!= 'off') || $ _Server ['server_port'] == 443) ? "https: //": "http: //";
// Lire le nom de domaine de la page actuelle
$ domain = $ _server ['http_host'];
// Lire la ressource demandée
$ ressource = $ _server ['request_uri'];
// Lire la valeur de la chaîne de requête
$ query = $ _server ['query_string'];
// Combinez toutes les pièces pour obtenir l'adresse URL complète
$ url = $ protocole.$ domaine.$ ressource;
// imprime l'adresse URL de la page actuelle
écho "

L'adresse URL complète de la page actuelle est:

". $ url;
// Imprime la partie de la chaîne de requête
écho "

La chaîne de requête est:

". $ Query;
?>

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus à partir du serveur sans aucune chaîne de requête. Aucune chaîne de requête n'est fournie dans l'URL. Ainsi, la sortie montre la chaîne de requête vide.

La sortie suivante apparaîtra après avoir exécuté le script ci-dessus du serveur avec la chaîne de requête. La sortie suivante montre l'adresse URL avec la chaîne de requête et la chaîne de requête séparément.

Conclusion

Différentes façons de récupérer l'URL complète de la page actuelle sont présentées dans ce tutoriel en utilisant divers exemples. La façon de séparer l'URL et la chaîne de requête est également affichée dans ce tutoriel. Espérons que ce tutoriel aidera les lecteurs à connaître la façon de lire l'URL complète de la page actuelle à l'aide du script PHP.