Rolf B: Problem mit include_path

Beitrag lesen

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