Maison >développement back-end >tutoriel php >PHP_SELF, PATH_INFO, SCRIPT_NAME et REQUEST_URI : quelle est la différence ?

PHP_SELF, PATH_INFO, SCRIPT_NAME et REQUEST_URI : quelle est la différence ?

Barbara Streisand
Barbara Streisandoriginal
2024-11-02 15:48:02195parcourir

PHP_SELF, PATH_INFO, SCRIPT_NAME, and REQUEST_URI: What's the Difference?

PHP_SELF vs PATH_INFO vs SCRIPT_NAME vs REQUEST_URI : Comprendre les différences

Lors du développement d'applications PHP, il est crucial de comprendre la différence entre PHP_SELF, PATH_INFO , SCRIPT_NAME et REQUEST_URI. Ces variables de serveur fournissent des informations sur l'adresse du script actuel et peuvent être utiles pour la navigation et la réécriture d'URL.

PHP_SELF contient généralement l'URI complet du script actuel, y compris le nom du script et tout chemin. information. Cependant, il peut être différent de SCRIPT_NAME dans les cas où la requête est sous la forme de http://example.com/test.php/foo/bar.

PATH_INFO contient le chemin informations à la fin de l’URI de la demande. Cependant, il n'est renseigné que lorsque l'URI de la requête est sous la forme mentionnée ci-dessus.

SCRIPT_NAME représente le nom du script actuel, à l'exclusion de toute information de chemin. C'est généralement la même chose que PHP_SELF sauf s'il y a un / dans l'URI.

REQUEST_URI contient l'URI complet de la requête, y compris le chemin, la chaîne de requête et l'ancre. Il diffère de PHP_SELF et SCRIPT_NAME lorsqu'une chaîne de requête est présente ou lorsque la redirection côté serveur est utilisée.

Pour illustrer les différences, voici quelques exemples pratiques :

Exemple 1 :
http://example.com/test.php/foo/bar

  • PHP_SELF : /test.php/foo/bar
  • SCRIPT_NAME : /test .php

Exemple 2 :
http://example.com/test.php?foo=bar

  • SCRIPT_NAME : / test.php
  • REQUEST_URI : /test.php?foo=bar

Exemple 3 :
http://example.com/test. php (avec redirection mod_rewrite)

  • REQUEST_URI : /test.php
  • SCRIPT_NAME : /test2.php

Exemple 4 :
Page d'erreur personnalisée dans IIS :
http://example.com/test.php

  • SCRIPT_NAME : /404error.php
  • REQUEST_URI : /404error. php?404;http://example.com/test.php

En comprenant ces différences, vous pouvez utiliser efficacement la variable de serveur appropriée pour gérer la navigation, la réécriture d'URL et la gestion des erreurs dans votre PHP. candidatures.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn