Bestimmen der Adresse eines Skripts in PHP: PHP_SELF, PATH_INFO, SCRIPT_NAME, REQUEST_URI
Verstehen Sie beim Entwickeln von PHP-Anwendungen die Unterschiede zwischen PHP_SELF, PATH_INFO , SCRIPT_NAME und REQUEST_URI sind entscheidend, um die Adresse eines Skripts zuverlässig zu bestimmen.
PHP_SELF stellt die vollständige URL des Skripts dar, einschließlich der Abfragezeichenfolge. In den meisten Fällen ist dies die zuverlässigste Option zum Abrufen der vollständigen Adresse eines Skripts. Wenn eine Anfrage jedoch mod_rewrite-Anweisungen durchläuft, spiegelt PHP_SELF möglicherweise nicht die tatsächlich angeforderte URL wider.
PATH_INFO speichert den Teil der URL nach dem Skriptnamen. Diese Informationen werden verfügbar, wenn mod_rewrite verwendet wird, sie können jedoch in bestimmten Situationen leer sein.
SCRIPT_NAME enthält den tatsächlichen Dateinamen des ausgeführten Skripts, ohne jegliche Pfadinformationen. Im Gegensatz zu PHP_SELF ist SCRIPT_NAME nicht von mod_rewrite betroffen.
REQUEST_URI erfasst den vollständigen Anforderungs-URI, einschließlich Pfad, Abfragezeichenfolge und etwaiger Ankerfragmente. Dies ist nützlich, wenn Sie mit Proxyservern arbeiten oder mit Weiterleitungen arbeiten.
Um die Unterschiede zu veranschaulichen, hier ein paar Beispiele:
Beispiel 1: Wenn Sie mod_rewrite verwenden, um http://example.com/test.php/foo/bar zu http://example.com/index.php/test.php/foo/bar umzuleiten:
Beispiel 2: Bei Verwendung einer nicht leeren Abfragezeichenfolge in http://example.com/test.php?foo=bar:
Beispiel 3:Bei Verwendung von mod_rewrite, um http://example.com/test.php zu http://example.com/test2.php umzuleiten:
Wenn Sie diese Unterschiede verstehen, können Sie die am besten geeignete Variable auswählen für Ihre spezifischen Anforderungen und gewährleistet einen zuverlässigen Zugriff auf die Adresse eines Skripts, unabhängig von der Webserverkonfiguration oder der URL-Manipulation.
Das obige ist der detaillierte Inhalt vonWie unterscheiden sich PHP_SELF, PATH_INFO, SCRIPT_NAME und REQUEST_URI bei der Bestimmung der Adresse eines Skripts?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!