Frage zu include()

firstlord18

Erfahrenes Mitglied
Hallo,

habe eine kleine Frage zu include.

Angenommen man hat folgende Struktur:

main/test.php
main/folder/inc.php
/main/folder/dir/blupp.php

test.php:
PHP:
include('folder/inc.php');

inc.php:
PHP:
include('dir/blupp.php');

mir mir sehr sehr sicher, dass sowas früher nicht ging, sondern dass man dann in inc.php folgendes schreiben musste:
PHP:
include('folder/dir/blupp.php');
Also dass man immer vom Pfad der Datei aus gehen musste, in der die Datei(en) includet werden.

Habe das gerade mal getestet auf localhost (php5). Irgendwie ging obiges Beispiel.

Wurde das irgendwie in PHP5 so umgestellt, dass das dann immer vom Verzeichnis ausgeht, in dem die Datei liegt, in der ein include() steht?

Danke im voraus!
 
Ein Blick in die Doku hilft:
include hat gesagt.:
Dateien die mit include eingebunden werden, werden zuerst im include_path relativ zum gegenwärtigen Arbeitsverzeichnis gesucht und danach im include_path relativ zum Verzeichnis des ausgeführten Skripts. Zur Veranschaulichung: Falls Ihr include_path . entspricht, ist das gegenwärtige Arbeitsverzeichnis /www/. Sie haben über include include/a.php eingebunden und in diesem Skript steht die Anweisung include "b.php". In diesem Fall wird b.php zuerst im Verzeichnis /www/ gesucht und danach im Verzeichnis /www/include/.
Gruß hpvw
 
Hab ich jetzt tatsächlich gemacht. Es passiert (auf meinem Server) etwas recht seltsames: Er geht die Schleife 640 (hab gezählt!) mal durch und stoppt dann. Es dauert aber nicht mal eine Sekunde, und von einem Timeout oder so ist auch nix zu lesen. :confused:
 
Zurück