Was sind die Hauptunterschiede zwischen PHP_SELF, PATH_INFO, SCRIPT_NAME und REQUEST_URI?

Patricia Arquette
Freigeben: 2024-11-02 07:28:02
Original
866 Leute haben es durchsucht

What are the key differences between PHP_SELF, PATH_INFO, SCRIPT_NAME, and REQUEST_URI?

Verstehen von PHP_SELF, PATH_INFO, SCRIPT_NAME und REQUEST_URI**

Bei der Entwicklung von PHP-Anwendungen ist es wichtig, die Unterschiede zwischen diesen Servervariablen zu verstehen . Hier ist eine Aufschlüsselung ihrer Verwendungszwecke:

PHP_SELF

  • Zeigt normalerweise auf die aktuelle Skriptdatei, z. B. /index.php/faq/whatever
  • In CodeIgniter ist es immer index.php, da Anfragen an den Hauptcontroller weitergeleitet werden.

PATH_INFO

  • Enthält die Pfadinformationen nach dem Skriptnamen (ohne Abfrageparameter), z. B. /faq/whatever
  • Nützlich für den Zugriff auf bestimmte Abschnitte einer URI.

SCRIPT_NAME

  • Zeigt auf die tatsächlich ausgeführte PHP-Skriptdatei, z. B. /test.php
  • Im Gegensatz zu PHP_SELF enthält es keine Pfadinformationen oder Abfrageparameter.

REQUEST_URI

  • Stellt den vollständigen Anforderungs-URI dar, einschließlich Pfadinformationen und Abfrageparametern, z. B. /test.php?foo=bar
  • Nützlich zum Ermitteln der vollständigen URL, ohne auf die Serverkonfiguration zuzugreifen.

Praktische Unterschiede

Beispiel 1: PHP_SELF vs SCRIPT_NAME

Wenn die angeforderte URL die Form /test.php/foo/bar hat:

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

Beispiel 2: REQUEST_URI vs. SCRIPT_NAME

Wenn eine nicht leere Abfragezeichenfolge in die URL eingegeben wird:

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

Beispiel 3: REQUEST_URI vs. SCRIPT_NAME mit Apache Mod Rewrite

Bei serverseitiger Umleitung wird z. B. /test.php in /test2.php umgeschrieben:

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

Beispiel 4: REQUEST_URI vs SCRIPT_NAME mit Fehlerbehandlung

  • Mit Apache mod_rewrite kann ein 404-Fehler in /test.php zu Folgendem führen:

    • REQUEST_URI: /test.php
    • SCRIPT_NAME: /404error.php

Die Wahl der zu verwendenden Servervariablen hängt von den spezifischen Anwendungsanforderungen ab . Wenn Sie beispielsweise auf Pfadinformationen ohne Abfrageparameter zugreifen müssen, wäre PATH_INFO geeignet. Wenn Sie den vollständigen Anfrage-URI wünschen, stellt REQUEST_URI diese Informationen bereit.

Das obige ist der detaillierte Inhalt vonWas sind die Hauptunterschiede zwischen PHP_SELF, PATH_INFO, SCRIPT_NAME und REQUEST_URI?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage