PHP Inclusief bestanden
De instructie include
(of require
) neemt alle tekst/code/opmaak die in het opgegeven bestand aanwezig is en kopieert deze naar het bestand dat de instructie include gebruikt.
Het opnemen van bestanden is erg handig wanneer u dezelfde PHP, HTML of tekst op meerdere pagina's van een website wilt opnemen.
PHP omvat en vereist verklaringen
Het is mogelijk om de inhoud van het ene PHP-bestand in een ander PHP-bestand in te voegen (voordat de server het uitvoert), met de instructie include of required.
De instructies include en required zijn identiek, behalve bij een fout:
require
zal een fatale fout produceren (E_COMPILE_ERROR) en het script stoppeninclude
produceert alleen een waarschuwing (E_WARNING) en het script gaat verder
Dus als u wilt dat de uitvoering doorgaat en gebruikers de uitvoer laat zien, zelfs als het include-bestand ontbreekt, gebruik dan het include-statement. Gebruik anders, in het geval van FrameWork, CMS of een complexe PHP-toepassingscodering, altijd de instructie required om een sleutelbestand op te nemen in de uitvoeringsstroom. Dit helpt voorkomen dat de beveiliging en integriteit van uw toepassing in gevaar komt, voor het geval er per ongeluk een sleutelbestand ontbreekt.
Het opnemen van bestanden scheelt een hoop werk. Dit betekent dat u een standaard kop-, voettekst- of menubestand kunt maken voor al uw webpagina's. Als de header moet worden bijgewerkt, kunt u alleen het header include-bestand bijwerken.
Syntaxis
include 'filename';
or
require 'filename';
PHP omvat voorbeelden
voorbeeld 1
Stel dat we een standaard footer-bestand hebben met de naam "footer.php", dat er als volgt uitziet:
<?php
echo "<p>Copyright © 1999-" . date("Y") . " W3Schools.com</p>";
?>
Gebruik de volgende include
instructie om het voettekstbestand in een pagina op te nemen:
Voorbeeld
<html>
<body>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
<?php include 'footer.php';?>
</body>
</html>
Voorbeeld 2
Stel dat we een standaard menubestand hebben met de naam "menu.php":
<?php
echo '<a href="/default.asp">Home</a> -
<a href="/html/default.asp">HTML Tutorial</a> -
<a href="/css/default.asp">CSS Tutorial</a> -
<a href="/js/default.asp">JavaScript Tutorial</a> -
<a href="default.asp">PHP Tutorial</a>';
?>
Alle pagina's op de website zouden dit menubestand moeten gebruiken. Hier is hoe het kan (we gebruiken een <div> -element zodat het menu later gemakkelijk met CSS kan worden opgemaakt):
Voorbeeld
<html>
<body>
<div class="menu">
<?php include 'menu.php';?>
</div>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
</body>
</html>
Voorbeeld 3
Stel dat we een bestand hebben met de naam "vars.php", waarin enkele variabelen zijn gedefinieerd:
<?php
$color='red';
$car='BMW';
?>
Als we vervolgens het bestand "vars.php" opnemen, kunnen de variabelen in het aanroepende bestand worden gebruikt:
Voorbeeld
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php include 'vars.php';
echo "I have a $color $car.";
?>
</body>
</html>
PHP opnemen vs. vereisen
De require
instructie wordt ook gebruikt om een bestand in de PHP-code op te nemen.
Er is echter één groot verschil tussen opnemen en vereisen; wanneer een bestand is opgenomen in de include
instructie en PHP het niet kan vinden, zal het script doorgaan met uitvoeren:
Voorbeeld
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php include 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
Als we hetzelfde voorbeeld doen met de require
instructie, wordt de echo-instructie niet uitgevoerd omdat de uitvoering van het script sterft nadat de
require
instructie een fatale fout heeft geretourneerd:
Voorbeeld
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php require 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
Gebruiken require
wanneer het bestand vereist is door de toepassing.
Gebruik include
wanneer het bestand niet vereist is en de toepassing moet doorgaan wanneer het bestand niet wordt gevonden.