File Include PHP

Il server-side include (SSI) viene utilizzato per creare funzioni, intestazioni, piè di pagina o elementi che possono essere riutilizzati su più pagine.

L'istruzione include (o require) recupera tutti i testi / codici / tag presenti nel file specificato e li copia nel file che utilizza l'istruzione include.

Includere file è utile se si devono utilizzare lo stesso PHP, HTML o testo su più pagine del sito.

I comandi include e require in PHP

Tramite le istruzioni include o require, è possibile inserire il contenuto di un file PHP in un altro PHP (prima che il server lo esegua).

Le istruzioni include e require sono identiche, eccetto per la gestione degli errori:

  • require genera un errore fatale (E_COMPILE_ERROR) e ferma lo script
  • include genera solo avvisi (E_WARNING) e il script continua

Quindi, se desideri continuare eseguendo e inviare risultati agli utenti, anche se il file inclusivo è perso, usa include. Altrimenti, in un framework, CMS o codice di applicazione PHP complesso, usa sempre require per referenziare i file critici dell'execution flow. Questo aiuta a migliorare la sicurezza e l'integrità dell'applicazione, in caso di perdita imprevista di un file critico.

L'inclusione di file risparmia molto lavoro. Questo significa che puoi creare standard header, footer o menu file per tutte le pagine. Quindi, quando devi aggiornare il header, devi solo aggiornare il file di header inclusivo.

Sintassi

include 'filename';

o

require 'filename';

Esempio di include PHP

Esempio 1

Supponiamo di avere un file di piè di pagina standard chiamato "footer.php", come questo:

<?php
echo "<p>Copyright © 2006-" . date("Y") . " codew3c.com</p>";
?>

Se si desidera includere questo file di piè di pagina in una pagina, utilizzare la dichiarazione include:

<html>
<body>
<h1>Benvenuti sulla nostra pagina iniziale!</h1>
<p>Un paragrafo di testo.</p>
<p>Un paragrafo di testo.</p>
<?php include 'footer.php';?>
</body>
</html>

Esempio di esecuzione

Esempio 2

Supponiamo di avere un file di menu standard chiamato "menu.php":

<?php
echo '<a href="/index.asp">Pagina iniziale</a> -
<a href="/html/index.asp">Manuale HTML</a> -
<a href="/css/index.asp">Manuale CSS</a> -
<a href="/js/index.asp">Manuale JavaScript</a> -
<a href="/php/index.asp">Manuale PHP</a>';
?>

Tutte le pagine del sito utilizzano questo file di menu. La pratica è questa (abbiamo usato un elemento <div> in modo che in futuro possiamo facilmente impostare lo stile con CSS):

<html>
<body>
<div class="menu">
<?php include 'menu.php';?>
</div>
<h1>Benvenuti nella mia pagina principale!</h1>
<p>Altri testi.</p>
<p>Altri testi.</p>
</body>
</html>

Esempio di esecuzione

Esempio 3

Supponiamo di avere un file chiamato "vars.php" che definisce alcune variabili:

<?php
$color='Argento';
$car='Berlina';
?>

Poi, se si riferisce a questo file "vars.php", possiamo utilizzare queste variabili nel file di chiamata:

<html>
<body>
<h1>Benvenuti nella mia pagina principale!</h1>
<?php
include 'vars.php';
echo "Ho una $color $car.";
?>
</body>
</html>

Esempio di esecuzione

PHP include vs. require

La dichiarazione require viene anche utilizzata per riferirsi a file nel codice PHP.

Tuttavia, ci sono enormi differenze tra include e require: se si utilizza una dichiarazione include per riferirsi a un file e PHP non riesce a trovarlo, lo script continuerà a eseguire:

Esempio

<html>
<body>
<h1>Benvenuti nella mia pagina principale!</h1>
<?php
include 'noFileExists.php';
echo "Ho una $color $car.";
?>
</body>
</html>

Esempio di esecuzione

Se completiamo lo stesso caso utilizzando la dichiarazione require, l'espressione echo non continuerà ad eseguire perché lo script si interromperà dopo un errore grave restituito dalla dichiarazione require:

Esempio

<html>
<body>
<h1>Benvenuti nella mia pagina principale!</h1>
<?php
require 'noFileExists.php';
echo "Ho una $color $car.";
?>
</body>
</html>

Esempio di esecuzione

Commento:

Usa require in questo momento: quando il file viene richiesto dall'applicazione.

Usa include in questo momento: quando il file non è necessario e l'applicazione deve continuare a eseguire quando il file non viene trovato.