PHP $_SERVER zur Pfadinformation

Pfad der Seite mit PHP abfragen

Neben POST und GET sowie dem verwendeten Browser kann man mit dem superglobalen Array $_SERVER auch die Pfade abfragen, wodurch dynamische Einstellmöglichkeiten in den Skripten möglich werden. Der Pfad ist einfach formuliert der Weg vom Hauptverzeichnis bis zu der Unterseite.

Das kann sich je nach Webseite sehr unterschiedlich darstellen, denn manche Seiten haben einfach ein großes Verzeichnis mit vielen Seiten auf gleicher Ebene, andere verzweigen von Ebene zu Ebene und können auch bis zur 6. Ebene weitergeführt werden. Dann ist der Pfad natürlich ungleich länger.

Pfad zur Seite per PHP und $_SERVER erheben

<?php
echo "PHP-SELF ".$_SERVER["PHP_SELF"];
echo "Request-URI ".$_SERVER["REQUEST_URI"];
echo "Script-Filename ".$_SERVER["SCRIPT_FILENAME"];
echo "Script-Name ".$_SERVER["SCRIPT_NAME"];
echo "Document-Root ".$_SERVER["DOCUMENT_ROOT"];
?>

Das superglobale Array $_SERVER bietet verschiedene Möglichkeiten an, um den aktuellen Status der aufgerufenen Datei und ihres Pfades sowie des Dateinamens abzufragen. Mit PHP-Befehlen wie substr kann man diese Informationen manipulieren und zurechtrücken, wenn beispielsweise Pfade mitgespeichert werden sollen. Das könnte beim Speichern von Medien wie Bilder oder Videos eine wesentliche Rolle spielen, damit beim Aufruf der Daten die Medien auch gefunden werden können.

In der ersten Zeile des Beispiels wird die aktuelle Datei abgefragt. Bei vielen Projekten reicht diese Info schon und kann zum Beispiel beim Formularaufruf eingesetzt werden, wenn die Verarbeitung auf der gleichen Seite erfolgen soll. Das kann bei manchen Webseiten aber fast ins Leere laufen, wenn nur eine dynamische Adresse herauskommt und alle Seiten auf der gleichen Ebene liegen.

Aber es gibt Hoffnung, denn für solche Fälle ist die Request-URI wichtiger. Sie lässt die URL weg und liefert den Dateinamen samt Pfad ab dem Root, wodurch man diese Information einsetzen kann, um die Pfade für Medien, um beim Beispiel zu bleiben, festlegen zu können.

Weitere Abfragemöglichkeiten

Manchmal braucht man aber auch den kompletten relativen Pfad, wie ihn der Server auch für die tägliche Arbeit nützt. Das ist besonders dann der Fall, wenn man externe Skripts in die eigene Seite einbauen will und hier bietet sich der Script-Filename an.

Der Script-Name wiederum ist die Möglichkeit, die eigene Datei per Namen zu erhalten, wobei dies, wie Ihnen sicher schon aufgefallen ist, das gleiche Ergebnis ermittelt wie PHP-SELF. Zuletzt gibt es auch noch die Abfragemöglichkeit nach dem Document-Root. Dies ist der Pfad, wie er mit Script-Filename auch schon ermittelt wurde, allerdings nur bis zum Root, also dem Stammverzeichnis der Webseite.

Diese vier Abrufmöglichkeiten sind sehr nützliche Werkzeuge zum Steuern von Pfade, zum Ermitteln der Hierarchie und zum Aufbauen von Verzeichnispfaden für zu speichernde Informationen. Das kann für das Speichern oder Kopieren von Dateien wichtig sein, das kann auch beim Speichern von Pfade in eine Datenbank eine Rolle spielen.

Es kann auch eine Hilfestellung sein, wenn man den genauen Pfad benötigt, um etwa neue Skripte zu installieren, die damit arbeiten. Man weiß wohl, wie die Seite heißt und wie man seine Seiten angelegt hat, aber wie der Pfad vom root aus erfolgt oder wie das root bezeichnet wird, nicht wirklich.

Lesen Sie auch

Superglobale Array ist ein sperriger Begriff, mit dem man am Anfang seiner PHP-Karriere wenig anfangen kann. Aber schon bald wird man quasi täglich damit zu tun haben. Die wichtigsten Vertreter sind zweifelsohne $_GET und $_POST. Mit $_GET werden Werte durch die URL weitergegeben, bei $_POST werden die eingetragenen Formulardaten zur Verfügung gestellt, um sie auszuwerten - einen Kommentareintrag zum Beispiel.

Eine weitere wichtige Funktion ist mit $_SERVER gegeben, womit nicht nur Serverdaten abgefragt werden können, was man aufgrund des Namens hätte vermuten können. Es können auch Besucherdaten oder der verwendete Browser in Erfahrung gebracht werden.

Und dann gibt es noch die Sessionverwaltung mit $_SESSION, um zu überprüfen, ob das Mitglied sich eingeloggt hat. Weitere Lösungen sind mit $_FILES für hochgeladene Dateien und $_COOKIE für die Cookies in Anwendungen gegeben.

Diesen Artikel teilen

Kategorien

Grundlagen
HTML-Grundlagen
CSS-Grundlagen
Javascript-Grundlagen
PHP-Grundlagen
MySQL-Grundlagen
SEO-Grundlagen

Infos, Tipps, Vermarktung
Webdesign-Lexikon
Online-Werbung
PHP-Codeschnipsel