RMC
2005-08-18, 16:56:23
Hab folgendes Problem:
Ich include in einer PHP Datei (module.php) einer andere PHP Datei, welche eine Ebene höher liegt. Also so:
include "../header.php";
header.php greift selber aber auf einen Ordner mit Templates zu, der auf seiner eigenen Ebene liegt. Und zwar mit:
$tpl->loadTemplateFile("./templates/template.html");
Jetzt wird das Template aber nicht geladen, weil das aufgerufene Skript "module.php" eine Ebene tiefer liegt und er deshalb das Template in diesem Ordner sucht.
Wenn ich für das Template den Pfad "../templates/template.html" setze, dann funktionierts.
Aber so kann ich ja nicht arbeiten, da ich ja nie weiß wo das Skript liegen wird, welches diese Datei includiert. Wenn die includierte Datei aufgerufen wird, muss im Folgenden von DIESEM Pfad ausgegangen werden.
Was ist hier also falsch? Wie kann ich das ändern?
Ich include in einer PHP Datei (module.php) einer andere PHP Datei, welche eine Ebene höher liegt. Also so:
include "../header.php";
header.php greift selber aber auf einen Ordner mit Templates zu, der auf seiner eigenen Ebene liegt. Und zwar mit:
$tpl->loadTemplateFile("./templates/template.html");
Jetzt wird das Template aber nicht geladen, weil das aufgerufene Skript "module.php" eine Ebene tiefer liegt und er deshalb das Template in diesem Ordner sucht.
Wenn ich für das Template den Pfad "../templates/template.html" setze, dann funktionierts.
Aber so kann ich ja nicht arbeiten, da ich ja nie weiß wo das Skript liegen wird, welches diese Datei includiert. Wenn die includierte Datei aufgerufen wird, muss im Folgenden von DIESEM Pfad ausgegangen werden.
Was ist hier also falsch? Wie kann ich das ändern?