L’argomento in questione, ovvero la corretta gestione dell’inclusione di file in php é piuttosto semplice, ma, come molte cose, qualora sia gestito male, potrebbe creare grossi problemi.
Vediamo alcune accortezze, o meglio, regole, da seguire al fine di eseguire un’inclusione precisa.
Premesso che includere files in php, come in altri linguaggi, assume un ruolo importante soprattutto in applicazioni composte da molti files e dove alcuni gestiscono esclusivamente la connessione al database MySQL (nome del database, credenziali di accesso ecc). In tal caso, tutto fa pensare che la gestione di queste informazioni sarà compito di un file specifico incluso di volta in volta laddove serve evitando di ripetere più volte lo stesso codice per ovvii motivi.
A tal proposito, il PHP mette a disposizione due funzioni per gestire le inclusioni di file: include() e require.
Eccovi un banale esempio :
<?PHP
include("percorsodelfile/nomefile.php");
?>
<?PHP
require("percorsodelfile/nomefile.php");
?>
Come indicato, prima regola basilare per evitare problemi é quella di inserire il percorso assoluto del file da includere evitando path relativi che, qualora i due file (l’incluso e quello che include) fossero in due folder diversi, non avrebbero significato. Insomma, meglio andar sul sicuro.
A tal proposito, inoltre, per evitare errori di sorta, vi consiglio la costante _FILE_ da utilizzare nella funzione dirname() che vi restituisce automaticamente il percorso di un file in questo modo :
include_once dirname(__FILE__) . ‘/nomefile.php’;
Inoltre, tutto il contenuto sarà inserito nel punto esatto in cui si trova il comando di inclusione.
Va detto che le due funzioni (include() e require()) producono il medesimo risultato con una differenza sostanziale : nel caso in cui il file da includere non si trovasse (o errore di percorso) la funzione include() genererà un warning mentre require() direttamente un fatal error con il conseguente blocco dello script.
Un’ultima considerazione : se includiamo una URL possiamo aggiungere anche delle parametri in querystring come include http://www.sito.com/esempio.php?variabile=1;
La qual cosa, invece, non è possibile fare includendo file in locale.

