Stefan Kleeschulte: Includes mit relativem Pfad innerhalb von includeten Dateien

Beitrag lesen

Hi zusammen!

Das Thema meines Beitrags mag sich ein wenig verwirrend anhören, aber ich wusste nicht, wie ich es anders hätte formulieren sollen.

Ich habe folgendes Problem:

Angenommen ich habe folgende Verzeichnisstruktur:

[home]
|-[scripts]
| |-[include]
| | |-header.php
| | '-footer.php
| '-script.php
'-index.php

In der Datei index.php binde ich jetzt mit dem Befehl
   include ("scripts/script.php");
die Datei index.php im Unterverzeichnis scripts ein.

Nun möchte ich wiederum in der Datei scripts.php die Dateien header.php und footer.php einbinden. Das geht aber nicht einfach mit
   include ("include/header.php");
   include ("include/footer.php");
sondern ich muss den relativen Pfad von der Datei index.php aus gesehen angeben:
   include ("scripts/include/header.php");
   include ("scripts/include/footer.php");

Wenn ich mit require() arbeite verhält es sich genauso. Gibt es eine Möglichkeit mit der ich dem PHP-Interpreter sagen kann, er soll die relativen include-Pfade von der Datei aus sehen, in der sie stehen?

Ich kann nämlich nicht einfach die includes in der Datei scripts.php ändern: Das Problem bei der ganzen Sache ist, dass die Datei scripts.php von unterschiedlichen Dateien in unterschiedlichen Verzeichnissen eingebunden wird, und daher der include-Pfad immer unterschiedlich ist.

Für eure Tips und Ratschläge wäre ich euch sehr dankbar!

CU :-)
Stefan