PHP Include Files

Server-side inclusion (SSI) wordt gebruikt om functies, koppen, voetteksten of elementen te maken die op meerdere pagina's kunnen worden hergebruikt.

De include (of require) statements halen alle bestaande tekst/broncode/markeringen uit het opgegeven bestand en kopiëren deze naar het bestand dat de include statement gebruikt.

Het opnemen van bestanden is nuttig als je dezelfde PHP, HTML of tekst op meerdere pagina's van je website wilt gebruiken.

PHP include en require statements

Met de include of require statements kan de inhoud van een PHP-bestand worden ingesloten in een ander PHP-bestand (voor de server het uitvoert).

include en require statements zijn hetzelfde, behalve voor foutafhandeling:

  • require genereert een fatale fout (E_COMPILE_ERROR) en stopt het script
  • include genereert alleen waarschuwingen (E_WARNING) en de script gaat verder

Dus, als je wilt dat de uitvoering doorgaat en je resultaten aan de gebruiker uitgeeft, zelfs als het inclusiebestand ontbreekt, gebruik dan include. Anders gebruik je in frames, CMS of complexe PHP-programmering altijd require om cruciale bestanden in de uitvoerstream te verwijzen. Dit helpt de veiligheid en integriteit van de applicatie te verbeteren, zelfs als een cruciaal bestand onverwacht ontbreekt.

Het opnemen van een bestand bespaart veel werk. Dit betekent dat je standaard kop- en voettekstbestanden of menubestanden kunt maken voor alle pagina's. Vervolgens hoeft je deze kopbestandsinclusiefbestand alleen te updaten als je de kop wilt bijwerken.

Syntax

include 'filename';

of

require 'filename';

PHP include voorbeeld

Voorbeeld 1

Stel dat we een standaard voettekstbestand genaamd "footer.php" hebben, zoals hierboven:

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

Als je dit voettekstbestand op een pagina wilt gebruiken, gebruik dan de include-statement:

<html>
<body>
<h1>Welkom op onze homepage!</h1>
<p>Een stuk tekst.</p>
<p>Een stuk tekst.</p>
<?php include 'footer.php';?>
</body>
</html>

Uitvoervoorbeeld

Voorbeeld 2

Stel dat we een standaard menubestand genaamd "menu.php" hebben:

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

Alle pagina's op de website gebruiken deze menubestand. De specifieke manier is (we gebruiken een <div>-element, zodat we in de toekomst gemakkelijk stijlen kunnen instellen met CSS):

<html>
<body>
<div class="menu">
<?php include 'menu.php';?>
</div>
<h1>Welcome to my home page!</h1>
<p>Enkele tekst.</p>
<p>Meer tekst.</p>
</body>
</html>

Uitvoervoorbeeld

Voorbeeld 3

Stel dat we een bestand genaamd "vars.php" hebben, waarin enkele variabelen zijn gedefinieerd:

<?php
$color='Zilveren';
$car='Bentley';
?>

Vervolgens, als we dit "vars.php"-bestand citeren, kunnen we deze variabelen gebruiken in het oproepende bestand:

<html>
<body>
<h1>Welcome to my home page!</h1>
<?php
include 'vars.php';
echo "Ik heb een" . $color . $car . ".";
?>
</body>
</html>

Uitvoervoorbeeld

PHP include vs. require

Het require-statement wordt ook gebruikt om bestanden te refereren in PHP-code.

Maar, er is een groot verschil tussen include en require: als een bestand wordt geciteerd met een include-statement en PHP kan het bestand niet vinden, zal het script verder uitvoeren:

Voorbeeld

<html>
<body>
<h1>Welcome to my home page!</h1>
<?php
include 'noFileExists.php';
echo "Ik heb een $color $car.";
?>
</body>
</html>

Uitvoervoorbeeld

Als we dezelfde casus afsluiten met een require-statement, zal de echo-statement niet verder uitvoeren, omdat de scriptuitvoering wordt beëindigd nadat een ernstige fout is teruggegeven door het require-statement:

Voorbeeld

<html>
<body>
<h1>Welcome to my home page!</h1>
<?php
require 'noFileExists.php';
echo "Ik heb een $color $car.";
?>
</body>
</html>

Uitvoervoorbeeld

Opmerking:

Gebruik dan require: als het bestand door de applicatie wordt gevraagd.

Gebruik dan include: als het bestand niet nodig is en de applicatie door moet gaan met het uitvoeren wanneer het bestand niet gevonden wordt.