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>

Körningsexempel

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>

Körningsexempel

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>

Körningsexempel

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>

Körningsexempel

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>

Körningsexempel

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.