PHP-Skripte laufen relativ zum aktuellen Pfad (Ergebnis von getcwd()
), nicht zum Pfad ihrer eigenen Datei. Die Verwendung von __DIR__
erzwingt die Einbeziehung relativ zu ihrem eigenen Pfad.
Um zu demonstrieren, erstellen Sie die folgenden Dateien (und Verzeichnisse):
- file1.php
- dir/
- file2.php
- file3.php
Wenn file2.php
file3.php
wie folgt enthält:
include `file3.php`.
Es wird gut funktionieren, wenn Sie file2.php
direkt aufrufen. Wenn file1.php
jedochfile2.php
enthält, wird das aktuelle Verzeichnis (getcwd()
) für file2.php
falsch sein, so dass file3.php
nicht enthalten sein kann.
Obwohl das auch stimmt, ist dies nicht wirklich der wichtigste Grund. – Evert