Détermination de l'adresse d'un script en PHP : PHP_SELF, PATH_INFO, SCRIPT_NAME, REQUEST_URI
Lors du développement d'applications PHP, comprendre les différences entre PHP_SELF, PATH_INFO , SCRIPT_NAME et REQUEST_URI sont essentiels pour déterminer de manière fiable l'adresse d'un script.
PHP_SELF représente l'URL complète du script, y compris la chaîne de requête. Dans la plupart des cas, il s'agit de l'option la plus fiable pour récupérer l'adresse complète d'un script. Cependant, si une requête passe par les directives mod_rewrite, PHP_SELF peut ne pas refléter l'URL réellement demandée.
PATH_INFO stocke la partie de l'URL après le nom du script. Ces informations deviennent disponibles lors de l'utilisation de mod_rewrite, mais elles peuvent être vides dans certaines situations.
SCRIPT_NAME contient le nom de fichier réel du script en cours d'exécution, à l'exclusion de toute information de chemin. Contrairement à PHP_SELF, SCRIPT_NAME n'est pas affecté par mod_rewrite.
REQUEST_URI capture l'URI complet de la requête, y compris le chemin, la chaîne de requête et tous les fragments d'ancrage. C'est utile lorsque vous travaillez avec des serveurs proxy ou lorsque vous traitez des redirections.
Pour illustrer les différences, voici quelques exemples :
Exemple 1 : Lorsque vous utilisez mod_rewrite pour rediriger http://example.com/test.php/foo/bar vers http://example.com/index.php/test.php/foo/bar :
Exemple 2 : Lors de l'utilisation d'une chaîne de requête non vide dans http://example.com/test.php?foo=bar:
Exemple 3 : Lors de l'utilisation de mod_rewrite pour rediriger http://example.com/test.php vers http://example.com/test2.php :
En comprenant ces différences, vous pouvez sélectionner la variable la plus appropriée pour vos besoins spécifiques, garantissant un accès fiable à l'adresse d'un script, quelle que soit la configuration du serveur Web ou la manipulation de l'URL.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!