firstlord18
Erfahrenes Mitglied
Hi,
so, habe heute nen kleines Problem mit Pfaden:
Ich habe folgende Ordnerstruktur:
so, in der Datei cfg.inc.php wird alles wichtige festgelegt bzw includet (sprich die Klassen).
So angenommne ich habe eine Datei test.php im Verzeichnis myScript, und include die cfg.php klappt ja alles wunderbar.
Dann will ich halt den Header darstellen, klappt auch.
So, angenommen aber ich lege ne Datei in das übergeordnete verzeichnis von myScript ab, und includet die cfg.php klappt das includen von den klassen etc auch noch gut
Was nicht mehr : der Pfad zur style.css, weil in der header.html nur als Pfad zu style.css steht:
tpl/style.css
(also das würde praktisch nur , wenn man seine ganzen Dateien immer im Hauptverzeichnis von des Scripts (also in myScript/) hätte.
Das ist natürlich blöd.
Deswegen habe ich nun folgendesn gemacht:
in der cfg.php:
und so sieht dann der Header.html aus:
wobei ich nun bei jedem Anzeigen des Headers {maindir} in der header.html durch $cfg['mainDir'] ersetzte!
Dann muss man halt immer folgendes in seine Datei schreiben, wenn man das Script aus nem anderen verzeichnis als aus dem Ordner myScript aus includet:
So, und nun wollte ich fragen, ob man das auch irgendwie anders, besser lösen könnte, sodass der User garnichts mehr machen muss. Also dass irgendwie der Pfad von der Datei, in die die cfg.php includet wird, zur Datei cfg.inc.php automatisch ermittelt wird, sodass man nur noch
machen muss und dann halt automatisch {mainDir} in der header.html durch ./folder1/folder2/ ersetzt wird
Danke im voraus!
so, habe heute nen kleines Problem mit Pfaden:
Ich habe folgende Ordnerstruktur:
myScript/cfg.inc.php
myScript/libs/
myScript/libs/class1.php
myScript/libs/class2.php
myScript/tpl/header.html
myScript/tpl/footer.html
myScript/tpl/style.css
so, in der Datei cfg.inc.php wird alles wichtige festgelegt bzw includet (sprich die Klassen).
So angenommne ich habe eine Datei test.php im Verzeichnis myScript, und include die cfg.php klappt ja alles wunderbar.
Dann will ich halt den Header darstellen, klappt auch.
So, angenommen aber ich lege ne Datei in das übergeordnete verzeichnis von myScript ab, und includet die cfg.php klappt das includen von den klassen etc auch noch gut
Was nicht mehr : der Pfad zur style.css, weil in der header.html nur als Pfad zu style.css steht:
tpl/style.css
(also das würde praktisch nur , wenn man seine ganzen Dateien immer im Hauptverzeichnis von des Scripts (also in myScript/) hätte.
Das ist natürlich blöd.
Deswegen habe ich nun folgendesn gemacht:
in der cfg.php:
Code:
if(!defined('CFG_PATH'))
DEFINE('CFG_PATH', './');
$cfg['mainDir'] = CFG_PATH;
und so sieht dann der Header.html aus:
Code:
<link rel="stylesheet" href="{maindir}tpl/style.css" type="text/css" />
wobei ich nun bei jedem Anzeigen des Headers {maindir} in der header.html durch $cfg['mainDir'] ersetzte!
Dann muss man halt immer folgendes in seine Datei schreiben, wenn man das Script aus nem anderen verzeichnis als aus dem Ordner myScript aus includet:
Code:
define('CFG_PATH', './folder1/folder2/myScript/');
include(CFG_PATH.'cfg.inc.php');
So, und nun wollte ich fragen, ob man das auch irgendwie anders, besser lösen könnte, sodass der User garnichts mehr machen muss. Also dass irgendwie der Pfad von der Datei, in die die cfg.php includet wird, zur Datei cfg.inc.php automatisch ermittelt wird, sodass man nur noch
Code:
include('folder1/folder2/cfg.inc.php);
Danke im voraus!