2015-09-07 10 views

risposta

11

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.phpincludefile2.php, la directory corrente (getcwd()), sarà errata per file2.php, quindi file3.php non può essere incluso.

0

Per includere è possibile impostare alcune cartelle in cui ricerca PHP automaticamente. Quando includi un file con un percorso relativo, cerchi in tutte quelle cartelle. È meglio definire il percorso reale per evitare errori nel caricamento di file errati.

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

Poi si può essere sicuri che si carica il file corretto.

+0

Anche se questo è vero, questa non è la ragione più importante. – Evert

Problemi correlati