Hallo AirMax,
Arbeite mit der vordefinierten Konstante
__DIR__
!
An sich hatte ich Dein Problem so verstanden, dass teaserrandom.php in einem Unterverzeichnis liegt und Du die Aufgaben des Programmteils innerhalb dieser Datei mit dessen Verzeichnis verbinden wolltest. Somit könnte teaserrandom.php mittels $handler = opendir(__DIR__);
in Verschiedene Verzeichnisse abgelegt werden, wobei jeweils nur der Pfad im aufrufenden Programm angepasst werden müsste:
/test
|
|-/media
| |
| |-0.jpg
| |
| |-1.jpg
| |
| -teaserrandom.php | |-/img | | | |-2.jpg | | | |-3.jpg | | | |-4.jpg | | |
-teaserrandom.php
|
`-index.php
In der index.php, was hierbei den Aufruf enthält, kann nun ohne weiter Anpassungen in teaserrandom.php zwischen include('media/teaserrandom.php');
und include('img/teaserrandom.php');
gewechselt werden.
Habe jetzt mal versucht die relativen Pfade füd die Includes in "relative" absolute Pfade mit __DIR__ umzuwandeln. Das funktioniert auch gut bei Verzeichnissesn, die unter dem Verzeichnis liegen, aus dem der include aufgerufen wird. Gibte es auch eine Möglichkeit, __DIR__ für Verzeichnisse anzuwenden, die über dem aktuellen Verzeichnis liegen? Hab' mal folgendes probiert:
include __DIR__ . '../bin/include.inc';
Er findet aber die include.inc nicht. Gibt's da was?
realpath() ist Dein Freund, wenn es um sonstige Probleme im Zusammenhang mit Pfaden ginge - jedoch nicht hier. Und Du solltest im Gebrauch dringend darauf achten, dass __DIR__
eine Pfadangabe ohne abschließenden Slash "/" enthält. Es muss also include(__DIR__ . '/../bin/include.inc');
lauten, was nicht mehr bedeutet, als dass solche Pfadangaben im Beispiel mit include() selbständig aufgelöst werden.
Gruß aus Berlin!
eddi