PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : PHP: Probleme mit includes und Pfaden


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?

clm[k1]
2005-08-18, 17:16:57
probier mal

ini_set("include_path", "haste/nich/gesehen");


oder so ähnlich.
Hoffe das hilft.


clm[k1]

Gast
2005-08-18, 18:00:44
Warum nicht

$tpl->loadTemplateFile($_SERVER['DOCUMENT_ROOT']."/templates/template.html");?

ravage
2005-08-18, 18:16:39
Ich leg in jedem PHP File, dass ich nicht Include eine Variable $rootdir an. Diese zeigt natürlich immer auf das rootdir der derzeitigen HP ;)

Und wenn ich dann was include, dann per
include ( $rootdir."./system/connect.inc.php" );

Ist eigentlich in etwa das gleiche wie das von den beiden vor mir, nur anders *grinst*

RMC
2005-08-19, 10:47:06
ok, funktioniert soweit.

hab noch ne Frage: gibt es Probleme wenn man mehrere Stylesheets im Header einbindet?

Wenn ich modular programmieren will, muss ja jedes Modul ein Stylesheet haben. Wenn ich alle anzeigen will, müssen die ja alle im Header stehen.


Gibts da Probleme bezüglich dem Rendering? Ich versuch das die ganze Zeit hinzukriegen, aber Firefox macht keinen Mucks und beim IE funktioniert das "font-size" nicht.

Gast
2005-08-19, 12:28:22
Gib einfach den absoluten Pfad der Templatedatei an ;)