Récupérer l'URL complète en PHP

Retrieve Full Url Php



Deux types de variables globales peuvent être utilisées en PHP : la variable superglobale et la variable définie par l'utilisateur. $_SERVER est une variable de tableau superglobale 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 requis pour obtenir l'URL complète de la page. Si $_SERVER['HTTPS'] Retour 'au', alors HTTPS sera utilisé 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 trouver l'adresse URL de la page actuelle.







Variables superglobales Objectifs
$_SERVER['HTTPS'] ça revient au si le protocole HTTPS est utilisé dans l'URL de la page en cours.
$_SERVER['HTTP_HOST'] Il renvoie le nom du serveur de la page courante.
$_SERVER['REQUEST_URI'] Il renvoie le nom de la ressource demandée.
$_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 : afficher 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 obtenir le protocole utilisé dans l'URL de la page actuelle. Créez 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. disparu) La fonction est utilisée pour vérifier si le $_SERVER['HTTPS'] est un ensemble ou non, et s'il est défini, alors vérifiez la valeur de $_SERVER['HTTPS'] si c'est le cas au ou pas. Ensuite, les valeurs de ces trois variables sont combinées avec '//:' pour récupérer l'URL complète de la page actuelle.




// Lecture du nom de domaine de la page en cours
$domaine = $_SERVER['HTTP_HOST'];
//Lire la ressource demandée
$ressource = $_SERVER['REQUEST_URI'];
// Connaître le protocole de l'url courante
si( disparu ($_SERVER['HTTP']) && $_SERVER['HTTP'] === 'au')
$protocole = 'https';
autre
$protocole = 'http';

// Combinez toutes les parties pour obtenir l'adresse URL complète
$url = $protocole.' : //'.$domaine.$ressource;
// Imprimer l'adresse URL de la page en cours
chassèrent '

L'adresse URL de l'actuel
la page est :

'
. $url;?>

Sortir:





La sortie suivante apparaîtra après l'exécution du script à partir du serveur. La valeur de $_SERVER['HTTPS'] n'est pas au pour le serveur local. La sortie montre donc le http protocole pour l'URL actuelle.



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

L'exemple suivant montre comment obtenir l'URL complète de la page actuelle à l'aide de l'opérateur ternaire. Créez 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 en cours. La même tâche est effectuée à l'aide de l'opérateur ternaire dans ce script. disparu) 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 au, alors 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 dans l'exemple précédent.


// Connaître le protocole de l'url courante
$protocole = ( disparu ($_SERVER['HTTP']) && $_SERVER['HTTP']
== 'au'?'https' : 'http');
// Lecture du nom de domaine de la page en cours
$domaine = $_SERVER['HTTP_HOST'];
//Lire la ressource demandée
$ressource = $_SERVER['REQUEST_URI'];
// Combinez toutes les parties pour obtenir l'adresse URL complète
$url = $protocole.' : //'.$domaine.$ressource;
// Imprimer l'adresse URL de la page en cours
chassèrent '

L'adresse URL de la page en cours est :

'
. $url;
?>

Sortir:

La sortie suivante apparaîtra après l'exécution du script à partir du serveur. La valeur de $_SERVER['HTTPS'] n'est pas au pour le serveur local. Ainsi, la sortie affiche 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 connaître le protocole de l'URL courante 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 connaître le protocole et récupérer l'adresse URL complète avec la chaîne de requête. Créez un fichier PHP avec le script suivant.

Ici, plusieurs conditions logiques et un 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é, puis il vérifiera la valeur de $_SERVER['SERVER_PORT'] pour connaître le protocole de l'URL actuelle. La variable $_SERVER['QUERY_STRING'] est utilisée pour récupérer la valeur de la chaîne de requête à partir de l'URL.


// Connaître le protocole de l'url courante
$protocole = ((! vide ($_SERVER['HTTP']) && $_SERVER['HTTP']
! = 'désactivé') || $_SERVER['PORT DE SERVEUR'] == 443)?'https : //' : 'http: //';
// Lecture du nom de domaine de la page en cours
$domaine = $_SERVER['HTTP_HOST'];
// Lecture de la ressource demandée
$ressource = $_SERVER['REQUEST_URI'];
// Lit la valeur de la chaîne de requête
$requête = $_SERVER['CHAÎNE DE REQUÊTE'];
// Combinez toutes les parties pour obtenir l'adresse URL complète
$url = $protocole.$domaine.$ressource;
// Imprimer l'adresse URL de la page en cours
chassèrent '

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

'
. $url;
// Imprimer la partie chaîne de requête
chassèrent '

La chaîne de requête est :

'
. $requête;
?>

Sortir:

La sortie suivante apparaîtra après l'exécution du 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. La sortie affiche donc la chaîne de requête vide.

La sortie suivante apparaîtra après l'exécution du script ci-dessus à partir 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 manières de récupérer l'URL complète de la page actuelle sont présentées dans ce didacticiel à l'aide de divers exemples. La façon de séparer l'URL et la chaîne de requête est également indiquée dans ce didacticiel. Espérons que ce tutoriel aidera les lecteurs à connaître la manière de lire l'URL complète de la page actuelle à l'aide du script PHP.