PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : problem mit relativen includes in php


clm[k1]
2004-06-30, 11:42:40
Mahlzeit,

situation: ich hab diverse php-files in einem verzeichniss, darunter eine "toolbox.php" und eine "config.php"
die config.php wird von der toolbox included
außerdem gibt es ein unterverzeichnis "tmpl" in dem halt template-files sind
einige der funktionen in der toolbox greifen darauf zu.

problem: jetzt will ich aber noch einen unterordner "admin" erstellen in dem dann php files zur administration sind, diese sollen ebenfalls die toolbox nutzen, welche dann logischerweise ein ordner höher liegt.

das problem ist nur, das er dann logischerweise die dateien die von der toolbox included werden nicht findet.

wie kann ich es realisieren, das ich da die toolbox auch nutzen kann ohne alles in den unterordner kopieren zu müssen (was ja totaler schwachsinn wäre) ?


gruß
clm[k1]

clm[k1]
2004-06-30, 13:37:27
hab inzwischen anderweitig eine antwort bekommen, die ich euch natürlich nicht vorenthalten will:

- statt relativer pfade sind absolute pfade zu benutzen
- die benötigte funktion um das zu bewerkstelligen heißt "dirname(__FILE__)"
wobei das "__FILE__" als argument das wichtige dabei ist.


gruß
clm[k1]

ethrandil
2004-07-01, 18:54:11
ich hab da mal was gesehen...

Du wechselst mit einem bestimmten Befehl einen Ordnernamen nach oben, inkludierst dann die Toolbox, uind wechselst wieder nach zurück.

ich weiß gerade nicht mehr wie das geht.

- Eth

Matthias2x
2004-07-01, 23:15:46
wie wärs wenn du einfach den absoluten pfad definierst:


$abs_path = '/pfad/zu/deinem/include/';
include($abs_path.'include.php');

clm[k1]
2004-07-03, 13:05:56
öhm... hab ich mein 2. posting so undeutlich ausgedrückt !? :kratz2:

also noch mal zum mitschreiben:

- ich habe eine Lösung gefunden
- ich benutze jetzt absolute pfade
- weil ich (wegen chroot-umgebung) den absoluten pfad nicht kenne, benutze ich die funktion "dirname(__FILE__)" um den heraus zu bekommen.


alles klar? ;)


gruß
clm[k1]

Sphinx
2004-07-04, 01:16:50
Ich nutz die includes so :

include($_SERVER['DOCUMENT_ROOT'] . '/php/secured/connect.php4');