2015-09-07 4 views

Antwort

11

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.phpfile3.php wie folgt enthält:

include `file3.php`. 

Es wird gut funktionieren, wenn Sie file2.php direkt aufrufen. Wenn file1.phpjedochfile2.php enthält, wird das aktuelle Verzeichnis (getcwd()) für file2.php falsch sein, so dass file3.php nicht enthalten sein kann.

0

Für enthalten ist es möglich, einige Ordner, in denen PHP automatisch suchen. Wenn Sie eine Datei mit einem relativen Pfad einschließen, durchsuchen Sie alle diese Ordner. Es ist besser, den richtigen Pfad zu definieren, um Fehler beim Laden von falschen Dateien zu vermeiden.

https://secure.php.net/manual/en/function.set-include-path.php

Dann können Sie sicher sein, dass Sie die richtige Datei laden.

+0

Obwohl das auch stimmt, ist dies nicht wirklich der wichtigste Grund. – Evert

Verwandte Themen