Hallo dedlfix,
__DIR__
liefert das Verzeichnis der Datei, in dem das__DIR__
steht, …
ja, sicher.
Wenn /usr/http
das document root ist, dann kann ich in einer Datei /usr/http/foo/bar.php
mit include __DIR__ . "/../baz/xyz.inc"
die Datei /usr/http/baz/xyz.inc
hereinholen. Oder den Include Path entsprechend ergänzen.
Ich muss halt nur jedesmal, wenn ich das programmiere, darauf aufpassen, wieviele Stufen ich von der Datei, die __DIR__
enthält, hinaufgehen muss, um zum document root zu kommen. Und wenn ich mein Projekt umstrukturieren sollte, muss ich so richtig aufpassen, wo überall __DIR__
verwendet wird. Deswegen sagte ich, dass das die schlechtere Idee ist und nur dort relevant wird, wo $_SERVER nicht verfügbar ist.
Eine .user.ini ins document root zu legen ist aber auf jeden Fall auch eine gute Alternative. Ich frag mich grad nur: Wenn in /usr/http/
eine php.user.ini
steht, in der der include_path
um ./baz
erweitert wird, und ich rufe /usr/http/foo/bar.php
auf - was ist dann .
? Der Ort der .user.ini oder der Ort des PHP Scripts?
… nicht das von der aufgerufenen und/oder inkludierenden Datei.
Da verstehe ich deine Überlegungen nicht. Der Ansatz war doch, das __DIR__
in der Datei zu verwenden, wo auch das include
steht. Also in der inkludierenden Datei. Das Verzeichnis der aufgerufenden Datei (meinst Du damit die inkludierte Datei?) muss ich ja relativ zum document root eh kennen.
Rolf
sumpsi - posui - obstruxi