Obtenir l'URL complète actuelle en PHP

Krissnaawat Kaewsanmuang 16 février 2024
PHP
  1. Utilisez http_build_url() pour obtenir l’URL actuelle en PHP
  2. Utilisez $_SERVER[] pour obtenir l’URL actuelle en PHP
  3. Utilisez $_SERVER['HTTPS'] pour obtenir l’Url actuel en PHP
  4. Obtenir l’URL actuelle incluant les paramètres en PHP
  5. Conclusion
Obtenir l'URL complète actuelle en PHP

Le tutoriel présente la façon d’obtenir l’URL complète actuelle dans le langage de programmation PHP. Il existe de nombreux cas d’utilisation pour obtenir l’URL complète de PHP. Nous devons rendre le contenu de la page web en fonction des paramètres de la requête. Nous pouvons avoir besoin de rediriger ou de rafraîchir la page dans son ensemble. Par conséquent, une URL complète peut être d’une valeur essentielle pour la programmation web.

Nous allons examiner ici les différentes façons d’obtenir l’URL complète dans la programmation PHP.

En général, il y a peu d’étapes que nous devons connaître pour obtenir l’URL complète de la page en cours d’exécution, qui sont indiquées ci-dessous :

  • Nous devons créer une variable PHP qui stockera l’URL sous forme de chaîne de caractères.
  • Nous devons vérifier si les serveurs ont activé le HTTPS. Si c’est le cas, nous devons ajouter HTTPS à la chaîne d’URL. Si le HTTPS n’est pas activé, nous devons ajouter HTTP à la chaîne d’URL.
  • Nous devons également ajouter le symbole :// à l’URL.
  • Nous devons ajouter le nom HTTP_HOST du serveur. Le nom HTTP_HOST est l’hôte que nous avons demandé, par exemple www.google.com, www.exampledomain.com, etc.
  • Nous devons ajouter le nom REQUEST_URI à la chaîne d’URL. REQUEST_URI est la ressource que nous avons demandée, par exemple /index.php, etc.

Maintenant, nous discutons de certaines des méthodes les plus efficaces pour obtenir l’URL complète actuelle dans l’écosystème de programmation PHP :

Utilisez http_build_url() pour obtenir l’URL actuelle en PHP

Cette solution est assez simple. Nous pouvons utiliser la fonction intégrée de PHP appelée http_build_url(). Cette méthode fonctionne à la fois pour HTTP et pour les HTTP.

$link =  http_build_url();

Cette fonction est utilisée pour construire une URL. Elle accepte les quatre paramètres ensemble :

  • url : Ce paramètre représente l’URL sous la forme d’une chaîne de caractères ou d’un tableau associatif. Il renvoie une valeur similaire à parse_url().
  • parts : Ce paramètre est le même que le premier argument.
  • flags : C’est un masque de bits de constantes HTTP_URL binaires.
  • new_url : Si ce paramètre est défini, il sera rempli avec les parties de l’URL composée comme parse_url() retour.

Globalement, cette méthode renvoie la nouvelle URL sous la forme d’une chaîne de caractères en cas de succès, ou de False en cas d’échec.

Utilisez $_SERVER[] pour obtenir l’URL actuelle en PHP

Un autre moyen est d’utiliser la variable globale nommée $_SERVER[]. La variable $_SERVER est une variable intégrée de PHP qui est utilisée pour obtenir l’URL de la page courante. C’est aussi une variable superglobale. Par conséquent, elle est toujours disponible dans toute l’étendue.

Nous passons simplement le paramètre REQUEST_URI à la variable comme indiqué dans l’exemple ci-dessous :

Exemple :

$link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
  • $_SERVER[HTTP_HOST] représente le nom d’hôte ou le nom de domaine comme https://www.delftstack.com/
  • $_SERVER[REQUEST_URI] représente l’URI comme /dashboard/phpinfo.php

Utilisez $_SERVER['HTTPS'] pour obtenir l’Url actuel en PHP

Voici un autre format de code dur explicite pour obtenir l’URL actuelle en PHP.

La variable globale $_SERVER['HTTPS'] représente l’état du HTTPS. On peut donc l’utiliser dans la fonction isset() pour vérifier si le HTTPS existe ou non. Cela nous aidera à savoir si le HTTPS est activé dans une URL ou non. En attendant, en vérifiant la valeur de $_SERVER['HTTPS'], nous pouvons décider si oui ou non il faut ajouter “https” à l’URL.

Les deux exemples montrent la détection de HTTPS. L’exemple ci-dessous est le format long :

$link = (isset($_SERVER['HTTPS']) && $_SERVER['HTTPS'] === 'on' ? "https" : "http") . "://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";

Ou vous pouvez utiliser le format court comme dans l’exemple ci-dessous :

$link = $_SERVER['REQUEST_SCHEME'] . '://' . $_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI']

Obtenir l’URL actuelle incluant les paramètres en PHP

Afin d’obtenir l’URL globale comprenant le chemin, les paramètres et les chaînes de requête, nous pouvons utiliser http_build_url() comme indiqué dans l’exemple ci-dessous :

$all_in_address_bar = http_build_url();

Conclusion

Ce tutoriel a montré quelques-unes des façons les plus efficaces d’obtenir l’URL actuelle dans la programmation PHP. Les exemples vous aideront certainement à comprendre le format, le mécanisme et les syntaxes utilisés. La technique la plus utilisée pour obtenir l’URL courante est l’utilisation de la variable super globale $_SERVER. En utilisant cette variable, vous avez un contrôle total sur le format de la syntaxe. Cependant, la technique est un peu complexe par rapport aux autres. Maintenant, c’est à vous de décider quelle méthode d’obtention de l’URL actuelle vous convient le mieux en fonction de votre scénario de programmation PHP. Il peut y avoir différents cas d’utilisation et d’efficacité dans l’utilisation d’une méthode particulière. La meilleure option pourrait être d’essayer chacun d’eux et de choisir le plus souple et le plus efficace pour votre scénario de programmation.