Gli script PHP vengono eseguiti relativamente al percorso corrente (risultato di getcwd()
), non al percorso del proprio file. L'utilizzo di __DIR__
impone l'inclusione relativa al proprio percorso.
Per dimostrare, creare i seguenti file (e directory):
- file1.php
- dir/
- file2.php
- file3.php
Se file2.php
include file3.php
come questo:
include `file3.php`.
E funziona bene se si chiama file2.php
direttamente. Tuttavia, se file1.php
includefile2.php
, la directory corrente (getcwd()
), sarà errata per file2.php
, quindi file3.php
non può essere incluso.
Anche se questo è vero, questa non è la ragione più importante. – Evert