PHP -Include-Dateien
Die include
(or require
)-Anweisung nimmt den gesamten Text/Code/Markup, der in der angegebenen Datei vorhanden ist, und kopiert ihn in die Datei, die die include-Anweisung verwendet.
Das Einfügen von Dateien ist sehr nützlich, wenn Sie dasselbe PHP, HTML oder denselben Text auf mehreren Seiten einer Website einfügen möchten.
PHP-Anweisungen include und require
Mit der include- oder require-Anweisung ist es möglich, den Inhalt einer PHP-Datei in eine andere PHP-Datei einzufügen (bevor der Server sie ausführt).
Die include- und require-Anweisungen sind identisch, außer bei einem Fehler:
require
erzeugt einen schwerwiegenden Fehler (E_COMPILE_ERROR) und stoppt das Skriptinclude
erzeugt nur eine Warnung (E_WARNING) und das Skript wird fortgesetzt
Wenn Sie also möchten, dass die Ausführung fortgesetzt wird und Benutzern die Ausgabe angezeigt wird, selbst wenn die Include-Datei fehlt, verwenden Sie die Include-Anweisung. Verwenden Sie andernfalls im Falle von FrameWork, CMS oder einer komplexen PHP-Anwendungscodierung immer die require-Anweisung, um eine Schlüsseldatei in den Ausführungsablauf einzuschließen. Dadurch wird verhindert, dass die Sicherheit und Integrität Ihrer Anwendung gefährdet wird, falls eine Schlüsseldatei versehentlich fehlt.
Das Einbinden von Dateien spart viel Arbeit. Das bedeutet, dass Sie für alle Ihre Webseiten eine standardmäßige Kopf-, Fuß- oder Menüdatei erstellen können. Wenn der Header dann aktualisiert werden muss, können Sie nur die Header-Include-Datei aktualisieren.
Syntax
include 'filename';
or
require 'filename';
PHP enthält Beispiele
Beispiel 1
Angenommen, wir haben eine Standard-Fußzeilendatei namens "footer.php", die so aussieht:
<?php
echo "<p>Copyright © 1999-" . date("Y") . " W3Schools.com</p>";
?>
Um die Fußzeilendatei in eine Seite einzufügen, verwenden Sie die include
Anweisung:
Beispiel
<html>
<body>
<h1>Welcome to my home page!</h1>
<p>Some text.</p>
<p>Some more text.</p>
<?php include 'footer.php';?>
</body>
</html>
Beispiel 2
Angenommen, wir haben eine Standardmenüdatei namens "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 Seiten der Website sollten diese Menüdatei verwenden. So kann es gemacht werden (wir verwenden ein <div>-Element, damit das Menü später einfach mit CSS gestaltet werden kann):
Beispiel
<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>
Beispiel 3
Angenommen, wir haben eine Datei namens "vars.php", in der einige Variablen definiert sind:
<?php
$color='red';
$car='BMW';
?>
Wenn wir dann die Datei "vars.php" einbinden, können die Variablen in der aufrufenden Datei verwendet werden:
Beispiel
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php include 'vars.php';
echo "I have a $color $car.";
?>
</body>
</html>
PHP Include vs. Require
Die require
Anweisung wird auch verwendet, um eine Datei in den PHP-Code einzubinden.
Es gibt jedoch einen großen Unterschied zwischen include und require; Wenn eine Datei in der include
Anweisung enthalten ist und PHP sie nicht finden kann, wird das Skript weiterhin ausgeführt:
Beispiel
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php include 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
Wenn wir dasselbe Beispiel mit der require
Anweisung ausführen, wird die Echo-Anweisung nicht ausgeführt, da die Skriptausführung stirbt, nachdem die
require
Anweisung einen schwerwiegenden Fehler zurückgegeben hat:
Beispiel
<html>
<body>
<h1>Welcome to my home page!</h1>
<?php require 'noFileExists.php';
echo "I have a $color $car.";
?>
</body>
</html>
Verwenden require
, wenn die Datei von der Anwendung benötigt wird.
Verwenden include
, wenn die Datei nicht benötigt wird und die Anwendung fortgesetzt werden soll, wenn die Datei nicht gefunden wird.