English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Tutorial di base PHP

Tutorial avanzato PHP

PHP & MySQL

Manuale di riferimento PHP

php include e require (inclusione di file)

In questo tutorial, imparerai come includere e valutare file in PHP.

Includere un file PHP in un altro file PHP

Le istruzioni include() e require() possono includere il codice di un file PHP in un altro file PHP. L'inclusione di file produce lo stesso risultato di copiare lo script da un file specificato e incollarlo nella posizione che lo chiama.

Puoi risparmiare molto tempo lavorando con file inclusi - basta memorizzare i blocchi di codice in file separati e utilizzarli con le istruzioni include() e require() in qualsiasi posizione necessaria, senza dover digitare nuovamente l'intero blocco di codice. Un esempio tipico è includere file di intestazione, piè di pagina e menu in tutte le pagine del sito web.

La sintassi di base delle istruzioni include() e require() può essere fornita come segue:}}

include("path/to/filename"); 
O
include "path/to/filename";
require("path/to/filename"); 
O
require "path/to/filename";

Suggerimento:Come per le istruzioni print e echo, puoi omittire i parentesi quando si utilizzano le istruzioni include e require, come descritto sopra.

Esempio seguente mostrerà come includere il codice di intestazione, piè di pagina e menu comune archiviato in file separati come "header.php", "footer.php" e "menu.php" su tutte le pagine del sito. Utilizzando questa tecnica, è sufficiente modificare un file per aggiornare immediatamente tutte le pagine del sito, risparmiando così molto lavoro ripetitivo.

<!DOCTYPE html>
<html>
<head>
    <title>Guida di Base</title>
</head>
<?php include "header.php"; ?>
<?php include "menu.php"; ?>
    <h1>Benvenuti nel nostro sito (it.oldtoolbag.com)!</h1>
    <p>Qui troverai molte informazioni utili.</p>
<?php include "footer.php"; ?>
</html>

La differenza tra le istruzioni include e require

Potresti chiederti perché se possiamo utilizzare l'istruzione include() per includere file, abbiamo bisogno di require(). Di solito, l'istruzione require() funziona in modo simile all'istruzione include().

La differenza unica è che l'istruzione include() genera solo avvisi PHP, ma se non trova il file da includere, il script continua a eseguire, mentre l'istruzione require() genera un errore fatale e ferma l'esecuzione dello script.

<?php require "my_variables.php"; ?>
<?php require "my_functions.php"; ?>
<!DOCTYPE html>
<html>
<head>
    <title><?php displayTitle($home_page); ?></title>
</head>
<?php include "header.php"; ?>
<?php include "menu.php"; ?>
    <h1>Benvenuti nel nostro sito (it.oldtoolbag.com)!</h1>
    <p>Qui troverai molte informazioni utili.</p>
<?php include "footer.php"; ?>
</html>

Attenzione: se si includono file di libreria o file che contengono funzioni e variabili di configurazione necessarie per l'esecuzione dell'applicazione (comeFile di configurazione del database),è consigliabile utilizzare l'istruzione require().

include_once e require_once istruzioni

Se si utilizzano accidentalmente le istruzioni include o require per includere lo stesso file più volte (solitamenteFunzioniOClassiFile) potrebbe causare conflitti. Per prevenire questo, PHP fornisce le istruzioni include_once e require_once. Queste istruzioni funzionano allo stesso modo delle istruzioni include e require, con una piccola eccezione:
Anche se il file viene incluso di nuovo, le istruzioni include_once e require_once includono il file solo una volta, ossia, se il file è già stato incluso nella frase precedente, non verrà incluso di nuovo. Per capire meglio come funziona, guardiamo un esempio. Supponiamo di avere un file 'my_functions.php', con il seguente codice:

<?php
function multiplySelf($var){
    $var *= $var; // Moltiplica il valore della variabile per se stessa
    echo $var;
}
?>

Questo è uno script PHP che contiene il file 'my_functions.php'.

<?php
// Inclusione del file
require "my_functions.php";
// Chiamata alla funzione
multiplySelf(2); // Output: 4
echo "<br>";
 
// Nuova inclusione del file
require "my_functions.php";
// Chiamata alla funzione
multiplySelf(5); // Non esegue
?>

Quando eseguite lo script sopra, vedrete un messaggio di errore simile al seguente:“Errore fatale: Cannot redeclare multiplySelf()”Il motivo per cui ciò accade è che 'my_functions.php' è stato incluso due volte, il che significa che la funzione multiplySelf() è stata definita due volte, causando PHP a fermare l'esecuzione dello script e a generare un errore fatale. Ora, riscrivete l'esempio sopra utilizzando require_once.

<?php
// Inclusione del file
require_once "my_functions.php";
// Chiamata alla funzione
multiplySelf(2); // Output: 4
echo "<br>";
 
// Nuova inclusione del file
require_once "my_functions.php";
// Chiamata alla funzione
multiplySelf(5); // Output: 25
?>

Come vedete, sostituendo require con require_once, lo script funziona come previsto.