PHP Include-filer
Server-side inkludering (SSI) används för att skapa funktioner, rubriker, fötter eller element som kan användas flera gånger på flera sidor.
include (eller require)-satser hämtar alla text/kod/märken som finns i den angivna filen och kopierar dem till filen som använder include-satsen.
Det är användbart att inkludera filer, om du behöver hänvisa till samma PHP, HTML eller text på flera sidor på webbplatsen.
PHP include och require-satser
Genom include eller require-satser kan innehållet i en PHP-fil infogas i en annan PHP-fil (innan den körs på servern).
include och require-satser är lika, med undantag för felhantering:
- require genererar en dödlig fel (E_COMPILE_ERROR) och stoppar skriptet
- include genererar bara varningar (E_WARNING) och skriptet fortsätter
Därför, om du vill fortsätta köra och visa resultat till användaren, även om inkluderingsfilen går förlorad, använd include. Annars, i ramverk, CMS eller komplexa PHP-applikationer, använd alltid require för att inkludera viktiga filer i exekveringsströmmen. Detta hjälper till att öka säkerheten och integriteten i applikationen, även om en viktig fil går förlorad.
Att inkludera en fil sparar mycket arbete. Detta innebär att du kan skapa standard sidhuvuden, sidfötter eller menyer för alla sidor. Sedan behöver du bara uppdatera denna inkluderingsfil när sidhuvudet behöver uppdateras.
Syntaks
include 'filename';
eller
require 'filename';
PHP include-exempel
Exempel 1
Anta att vi har en standard sidfotsfil som heter "footer.php", liknande detta:
<?php echo "<p>Copyright © 2006-" . date("Y") . " codew3c.com</p>"; ?>
Om du vill inkludera denna sidfotsfil på en sida, använd include-satsen:
<html> <body> <h1>Välkommen till vår startsida!</h1> <p>Ett stycke text.</p> <p>Ett stycke text.</p> <?php include 'footer.php';?> </body> </html>
Exempel 2
Anta att vi har en standardmenufil som heter "menu.php":
<?php echo '<a href="/index.asp">Hem</a> - <a href="/html/index.asp">HTML-tutorials</a> - <a href="/css/index.asp">CSS-tutorials</a> - <a href="/js/index.asp">JavaScript-tutorials</a> - <a href="/php/index.asp">PHP-tutorials</a>'; ?>
Alla sidor på webbplatsen använder denna menufil. Detta görs på följande sätt (vi använder en <div>-element, så att vi senare enkelt kan ställa in stilar med CSS):
<html> <body> <div class="menu"> <?php include 'menu.php';?> </div> <h1>Välkommen till min startsida!</h1> <p>Text.</p> <p>Mer text.</p> </body> </html>
Exempel 3
Anta att vi har en fil som heter "vars.php", där vi definierar några variabler:
<?php $color='Silver'; $car='Benz bil'; ?>
Då, om vi inkluderar denna "vars.php"-fil, kan vi använda dessa variabler i anropningsfilen:
<html> <body> <h1>Välkommen till min startsida!</h1> <?php include 'vars.php'; echo "Jag har en" . $color . $car . "."; ?> </body> </html>
PHP include vs. require
require-satsen används också för att inkludera filer i PHP-kod.
Men, det finns en stor skillnad mellan include och require: Om en fil inkluderas med include-satsen och PHP inte kan hitta den, fortsätter skriptet att köra:
Exempel
<html> <body> <h1>Välkommen till min startsida!</h1> <?php include 'noFileExists.php'; echo "Jag har en $color $car."; ?> </body> </html>
Om vi använder require-satsen för att slutföra samma fall kommer echo-satsen inte att fortsätta att köra, eftersom skriptet avbryts efter att en allvarlig fel har returnerats av require-satsen:
Exempel
<html> <body> <h1>Välkommen till min startsida!</h1> <?php require 'noFileExists.php'; echo "Jag har en $color $car."; ?> </body> </html>
Kommentar:
Använd require här: När filen efterfrågas av applikationen.
Använd include här: När filen inte är nödvändig och applikationen ska fortsätta att köra även om filen inte hittas.