PHP-Includieren von Dateien
Serverseitige Einbindung (SSI) wird verwendet, um Funktionen, Kopf- und Fußzeilen oder Elemente zu erstellen, die auf mehreren Seiten wiederverwendet werden können.
Die include- (oder require)-Anweisung holt alle vorhandenen Texte/Code/Marken aus der angegebenen Datei und kopiert sie in die Datei, die die include-Anweisung verwendet.
Die Einbindung von Dateien ist nützlich, wenn Sie identische PHP-, HTML- oder Textdateien auf mehreren Seiten Ihrer Website verwenden müssen.
PHP include- und require-Anweisungen
Durch die include- oder require-Anweisungen kann der Inhalt einer PHP-Datei in eine andere PHP-Datei eingefügt werden (bevor sie auf dem Server ausgeführt wird).
Die include- und require-Anweisungen sind identisch, mit Ausnahme der Fehlerbehandlung:
- require erzeugt einen fatalen Fehler (E_COMPILE_ERROR) und stoppt das Skript
- include erzeugt nur Warnungen (E_WARNING) und das Skript wird fortgesetzt
Daher verwenden Sie include, um fortzufahren und dem Benutzer Ergebnisse auszugeben, selbst wenn die Include-Datei verloren geht. Ansonsten verwenden Sie in Frameworks, CMS oder komplexen PHP-Anwendungen immer require, um wichtige Dateien in den Ausführungsfluss zu integrieren. Dies hilft, die Sicherheit und Integrität der Anwendung zu verbessern, falls eine wichtige Datei versehentlich verloren geht.
Das Einbinden von Dateien spart viel Arbeit. Dies bedeutet, dass Sie Standardkopf-, Fußzeilen- oder Menüdateien für alle Seiten erstellen können. Wenn Sie den Kopf aktualisieren müssen, reicht es aus, diese Kopf-Datei zu aktualisieren.
Syntax
include 'filename';
oder
require 'filename';
PHP include-Beispiel
Beispiel 1
Angenommen, wir haben eine Standard-Fußzeilenfile namens "footer.php", wie folgt:
<?php echo "<p>Copyright © 2006-" . date("Y") . " codew3c.com</p>"; ?>
Um diesen Fußzeilenfile auf einer Seite zu verwenden, verwenden Sie den include-Anweisung:
<html> <body> <h1>Willkommen auf unserer Startseite!</h1> <p>Ein Textabschnitt.</p> <p>Ein Textabschnitt.</p> <?php include 'footer.php';?> </body> </html>
Beispiel 2
Angenommen, wir haben eine Standard-Menüdatei namens "menu.php":
<?php echo '<a href="/index.asp">Startseite</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 Seiten der Website verwenden diesen Menüdatei. Der genaue Ansatz ist (wir verwenden ein <div>-Element, so dass wir in Zukunft leicht mit CSS gestaltet werden können):
<html> <body> <div class="menu"> <?php include 'menu.php';?> </div> <h1>Willkommen auf meiner Homepage!</h1> <p>Einige Texte.</p> <p>Einige zusätzliche Texte.</p> </body> </html>
Beispiel 3
Angenommen, wir haben eine Datei namens "vars.php", in der einige Variablen definiert sind:
<?php $color='Silberfarben'; $car='Benz Limousine'; ?>
Dann, wenn wir diese "vars.php"-Datei referenzieren, können wir diese Variablen im aufgerufenen Datei verwenden:
<html> <body> <h1>Willkommen auf meiner Homepage!</h1> <?php include 'vars.php'; echo "Ich habe ein" . $color . $car."."; ?> </body> </html>
PHP include vs. require
Der require-Ausdruck wird ebenfalls verwendet, um Dateien in PHP-Code zu referenzieren.
Allerdings gibt es einen großen Unterschied zwischen include und require: Wenn ein Datei mit dem include-Ausdruck referenziert wird und PHP kann die Datei nicht finden, wird das Skript fortgesetzt:
Beispiel
<html> <body> <h1>Willkommen auf meiner Homepage!</h1> <?php include 'noFileExists.php'; echo "Ich habe ein $color $car."; ?> </body> </html>
Wenn wir den selben Fall mit dem require-Ausdruck beenden, wird das echo-Ausdruck nicht fortgesetzt, da das Skript nach einem schwerwiegenden Fehler im require-Ausdruck abgebrochen wird:
Beispiel
<html> <body> <h1>Willkommen auf meiner Homepage!</h1> <?php require 'noFileExists.php'; echo "Ich habe ein $color $car."; ?> </body> </html>
Anmerkung:
Verwenden Sie bitte require hier: Wenn die Datei von der Anwendung angefordert wird.
Verwenden Sie bitte include hier: Wenn die Datei nicht erforderlich ist und die Anwendung weiterlaufen sollte, wenn die Datei nicht gefunden wird.