Mailinglisten-Archive |
Hallo Steffen, Danke für die superschnelle Antwort. > Hast du beachtet, dass der Pfad zu einer Datei, die aus einer bereits über > require eingebundeten Datei nicht von der eingebundeten ausgeht, sondern > von der aufgerufenen Datei. > > Beispiel: > > /seite1.php: > require_once("inc/include1.php"); > > /inc/include1.php: (/inc/include2.php einbinden) > require_once("include2.php"); > > wird nicht gehen, da es in dem Verzeichnis / keine include2.php gibt, > sondern im Verzeichnis inc - daher müsste es heißen: require_once > ("inc/include2.php"); Tja, aber genau das ist der Fall. Der originale Code (auf der Entwicklermaschine) ist eben so aufgebaut, wie auch Du empfiehlst. Also immer ausgehend von der ersten Verzeichnisinstanz, weil ja alle weiteren Datei aus Unterordner bezogen werden. Nur... auf dem Zweitrechner, dessen einziger Unterschied eben eine andere PHP-Version ist (4.3.2) läuft es nicht. Im Gegenteil: Genau das, was eigentlich nicht laufen dürfte, geht. Beispiel: index.php ruft im Unterverzeichnis /inc/ eine Datei auf require_once("inc/datei1.inc.php"); datei1.inc.php ruft anschließend datei2.inc.php auf, die im gleichen Unterverzeichnis liegt. Auf der Entwicklermaschine läuft es mit dem korrekten Code: require_once("inc/datei2.inc.php"); Auf dem Zweitrechner wird die Datei komischerweise erst geladen, wenn der Aufruf lautet: require_once("datei2.inc.php"); Um ehrlich zu sein. Ich verstehe das nicht ganz und bin bisher auch im Internet nicht fündig geworden... Gruß Carsten
php::bar PHP Wiki - Listenarchive