Sei qui: Home » Guide » PHP » Guida completa a PHP » Includere files

Includere files

Quando si lavora con piccolissimi progetti, quali i files di esempio di questa guida, è possibile scrivere tutto il codice sorgente in un unico files. Se il progetto è più vasto non è pensabile scrivere centinaia di migliaia di righe di codice in un unico file poiché la velocità di esecuzione sarebbe di certo lenta.

PHP permette di includere dei files con quattro istruzioni:

  1. Include
  2. Include_once
  3. Require
  4. Require_once

Diciamo da subito che tutte e quattro le istruzioni servono più o meno alla stessa cosa e che, salvo in particolari casi, si equivalgono. Il programmatore PHP saprà sceglierle in base alle proprie esigenze e, anche in questo caso, PHP si mostra come uno strumento molto versatile per la creazione di siti web dinamici.

Il path del file da includere

Per chiedere a PHP di includere un file, qualsiasi sia l'istruzione usata, è necessario indicare il file con un path corretto. Se il file si trova nella stessa directory dello script allora non necessario includere il path ma se dovesse trovarsi in directory differenti si possono usare i path relativi od i path assoluti.

Nei prossimi esempi esamineremo la situazione nella quale avremo lo script in c:\xampp\htdocs e vogliamo includere un file presente in c:\xampp\htdocs\includes\file_inc.php.

Inclusione con path relativi

Se volessimo includere il file del nostro esempio con un path relativo questo sarà includes/file_inc.php

Inclusione con path assoluti

Se volessimo includere il file con un path assoluto questo sarà c:\xampp\htdocs\includes\file_inc.php. Ovviamente è sconsigliato di mettere il path così com'è perché quando il sito verrà trasferito da locale a remoto, ovvero quando lo si sposta sul server, verrà meno quell'indirizzo. Per cui si potrebbe creare un semplice file di configurazione dove in una variabile, ad esempio $conf['path_assoluto'], si memorizza il path (c:\\xampp\\htdocs) e per includere un file si utilizza proprio questa variabile: $conf['path_assoluto'] . '\\includes\\includes.php'. Da notare che nei sistemi windows, quando si gestiscono i path, è necessario usare sempre i doppi slash.

Include

Mediante l'istruzione include() si chiede a PHP di cercare ed includere un file. Supponiamo di avere il file file_incluso.php

echo 'Ciao mondo!';

 

ed un file test.php che lo richiama:

<?php
include ('file_incluso.php'); // Restituisce "Ciao mondo"
?> 

Quando il file test.php viene richiamato include il file file_incluso.php nel cui interno c'è l'echo che restituisce "Ciao mondo".

Se il file da includere non esiste allora la funzione include genera un warning ma l'interpretazione dello script prosegue.

Include_once

L'istruzione include_once() è del tutto simile ad include ma tiene conto se un determinato file è stato incluso oppure no. Se è stato già incluso l'istruzione viene ignorata. Continuando l'esempio di prima:

include_once ('file_incluso.php'); // Restituisce "Ciao mondo"
include_once ('file_incluso.php'); // L'istruzione viene ignorata


 

Require

L'istruzione require serve ad includere un file ma, a differeza di quanto avviene con include, se questo nonè disponibile viene sollevato un errore di tipo fatal e l'esecuzione non prosegue. Per questo motivo require viene utilizzato quando c'è una reale necessità del file da includere.

<?php
 require('file_esistente.php'); // Include file_esistente.php
 require('file_non_esistente.php'); // Se il file non esiste solleva un errore di tipo fatal
 ?>

 

Require_once

L'istruzione require_once() al pari di include_once tenta di includere un file ma soltanto se lo stesso file non è stato già incluso.

Sicurezza dei files inclusi

PHP processa i files inclusi che, per questo motivo, non dovrebbero essere visibili dall'esterno. Per evitare che un utente con cattive intenzioni possa scoprire parte del nostro codice ed analizzarlo per condurre attacchi informatici, è necessario fare in modo che i files di inclusione terminino sempre con .php.

Ricerca
News
giu 3, 2010
È stato appena rilasciato, dalla società JetBrains, un nuovo IDE per la creazione rapida di progetti Web/PHP/MySQL.

tag: phpstorm, IDE, php

apr 3, 2010
Rilasciato JQuery UI in versione stabile. La release 1.8, oltre a numerosi bugfix, possiede due interessanti Widgets.

tag: jquery

mar 12, 2010
È stato da poco rilasciato il famoso forum SMF in versione 2.0RC3; tanti bugfix e un'aspetto più consolidato.

tag: smf, vbulletin, forum

mar 11, 2010
Un articolo "passo-passo" che spiega come configurare Google Apps con un qualsiasi tipo di pacchetto TopHost. Un'accoppiata vincente!

tag: TopHost, Google Apps

mar 9, 2010
Inserita la guida completa a PHP

tag: howtoprog

mar 8, 2010
Il sito è in fase di restyling; ci scusiamo per gli eventuali disagi ma, come vedrete a breve, vale la pena pazientare qualche giorno!