Gunther: Folgefrage 1: URL Analyse - Basedir ermitteln

Beitrag lesen

Tach!

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.

Ich lade doch eine Resource per cURL in einen String und parse diesen anschließend.
Somit habe ich ja gewisse Informationen, u.a. per curl_getinfo() und get_headers(). Letzteres ist bspw. sehr hilfreich, wenn der jeweilige Server mit MultiViews konfiguriert ist, da dann der Content-Location Header den tatsächlichen Dateinamen enthält.

Da es aber ja sehr viele verschiedene Varianten geben kann, wie wir schon festgestellt haben, hatte ich die Hoffnung, dass es eine Methode für alle gibt.

Wie kann ich denn im jeweiligen Einzelfall vorgehen, um aus relativen Pfadangaben in meinem String absolute zu machen?
Von mir aus kann es auch eine Trial & Error Methode sein, da es im wesentlichen ja nur um die Ausgangsdatei geht und Zeit/ Geschwindigkeit kein relevanter Faktor ist.

Gruß Gunther