web-dev-qa-db-fra.com

Comment obtenir l'URL de la page en cours dans PHP

En PHP, comment puis-je obtenir l'URL de la page actuelle? De préférence, juste les parties après http://domain.com .

130
Click Upvote
$_SERVER['REQUEST_URI']

Pour plus de détails sur les informations disponibles dans le tableau $ _SERVER, voir la page de manuel PHP correspondante .

Si vous avez également besoin de la chaîne de requête (le bit après le ? dans une URL), cette partie se trouve dans cette variable:

$_SERVER['QUERY_STRING']
244
Amber

si vous voulez juste les parties de l'URL après http://domain.com , essayez ceci:

<?php echo $_SERVER['REQUEST_URI']; ?>

si l'URL actuelle était http://domain.com/some-slug/some-id , echo renverra uniquement '/ some-slug/some-id'.

si vous voulez l'URL complète, essayez ceci:

<?php echo 'http://' . $_SERVER['HTTP_Host'] . $_SERVER['REQUEST_URI']; ?>
73
Jonas Orrico
 $uri = $_SERVER['REQUEST_URI'];

Cela vous donnera le répertoire demandé et le nom du fichier. Si vous utilisez mod_rewrite, ceci est extrêmement utile car il vous indique quelle page l'utilisateur était en train de regarder. 

Si vous avez besoin du nom de fichier réel, vous pouvez essayer soit $_SERVER['PHP_SELF'], la constante magique __FILE__ ou $_SERVER['SCRIPT_FILENAME']. Le dernier 2 vous donne le chemin complet (de la racine du serveur), plutôt que la racine de votre site web. Ils sont utiles pour les inclus et autres.

$_SERVER['PHP_SELF'] vous donne le nom du fichier par rapport à la racine du site.

 $relative_path = $_SERVER['PHP_SELF'];
 $complete_path = __FILE__;
 $complete_path = $_SERVER['SCRIPT_FILENAME'];
24
Tyler Carter

Les autres réponses sont correctes. Cependant, une remarque rapide: si vous souhaitez récupérer les éléments après le ? dans un URI, vous devez utiliser le tableau $_GET[].

9
Imagist

vous pouvez utiliser $ _SERVER ['HTTP_REFERER'] cela vous donnera l'URL entière par exemple: supposez que vous voulez obtenir l'URL du nom du site www.example.com, puis $ _SERVER ['HTTP_REFERER'] vous donnera https: // www.example.com

0
user2862106