dedlfix: Folgefrage 1: URL Analyse - Basedir ermitteln

Beitrag lesen

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.