Gunther: Folgefrage 1: URL Analyse - Basedir ermitteln

Beitrag lesen

Tach!

Ich muss ja in jeder Datei "gucken", welche weiteren externen Resourcen geladen werden.

Ich hätte ja jetzt dirname() auf den Pfadteil der URL (inklusive "Dateiname") anzuwenden empfohlen, aber das hat in meinem Test nicht vollständig mitgespielt

dirname('/foo/bar/qux.html') -> /foo/bar - passt
dirname('/foo/bar/')         -> /foo     - passt nicht, muss /foo/bar/ bleiben
dirname('/foo/bar')          -> /foo     - passt

Das heißt also, dass du da zumindest den Sonderfall "Slash am Ende" abfangen musst, bei dem du den Pfad gleich ohne zu dirname()n weiterverwenden kannst.

Auch in Fällen wie
http://example.net/path/to/resource
die "ausreichend" sind, wenn die eigentliche Resource die Index-Datei von
http://example.net/path/to/resource/
ist, liefert dirname dann
http://example.net/path/to

In solchen Fällen reicht aber wiederum die URL Angabe von curl_getinfo(), die dann richtig angibt
http://example.net/path/to/resource/

Also so wie ich es sehe, muss ich immer mind. zwei der Infos "auswerten", um entscheiden zu können, um welchen Fall es sich konkret handelt, um dann meinen Pfad entsprechend "zusammenzubasteln" ...!

Hast du evt. gleich noch einen Tipp für mich, falls solche Konstrukte wie "../../../path/to/resource.file" auftreten? Ich meine im Bezug auf meine "Basis-URL" und das entsprechende "rückwärtsgehen"?

Gruß Gunther