2015-09-07 12 views

Odpowiedz

11

Skrypty PHP działają w stosunku do bieżącej ścieżki (wynik getcwd()), a nie do ścieżki własnego pliku. Używanie __DIR__ wymusza włączenie elementu include względem własnej ścieżki.

Aby wykazać, tworzyć następujące pliki (i katalogi):

- file1.php 
- dir/ 
    - file2.php 
    - file3.php 

Jeśli file2.php obejmuje file3.php takiego:

include `file3.php`. 

To będzie działać dobrze, jeśli dzwonisz file2.php bezpośrednio. Jednakże, jeśli file1.phpzawierafile2.php, bieżący katalog (getcwd()) będzie niepoprawny dla file2.php, więc nie można dołączyć do niego .

0

Do tego można dodać kilka folderów, w których automatyczne wyszukiwanie w PHP. Po dołączeniu pliku o względnej ścieżce przeszukujesz wszystkie foldery. Lepiej zdefiniować prawdziwą ścieżkę, aby zapobiec błędom w ładowaniu niewłaściwych plików.

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

Wtedy można mieć pewność, że wczytać odpowiedni plik.

+0

To prawda, ale nie jest to najważniejszy powód. – Evert