Tach!
Und zwar suche ich nach einer Möglichkeit (in PHP) um aus einer URL nur den Pfad zu ermitteln.
Alles was PHP zum Server und dem Request weiß, steht in $_SERVER.
Eine URL kann ja u.a. folgende Formate haben:
- http.//example.com/path/to/file.html
- http.//example.com/path/to/file
- http.//example.com/path/to/
- http.//example.com/path/to
Ein weiteres Format kann sein: http://example.com/path/to/file.html/path/info
Wobei bei entsprechender Serverkonfiguration ja in allen Fällen durchaus dieselbe Resource ausgeliefert werden kann.
Ob da ein Zusammenhang zwischen URL und ausgeführter PHP-Datei besteht, kann PHP nicht unbedingt wissen. Pfade oder auch nur Bestandteile können fiktiv sein, gerade in Zeiten, wo kaum noch eine Konfiguration ohne mod_rewrite auszukommen scheint.
Und wenn diese relative Pfadangaben enthält, muss ich daraus zuverlässig absolute machen.
Das einzig zuverlässige ist die magische Konstante __FILE__, die den Dateinamen der aktuellen Datei (auch wenn sie inkludiert wurde) angibt, und das auch noch unter Auflösung sämtlicher Symlinks. Dazu gibt es auch noch __DIR__, was dirname(__FILE__) entspricht.
dedlfix.