Heim >Backend-Entwicklung >PHP-Tutorial >PHP-Tutorial für Fortgeschrittene (2): PHP-Referenzdateien
Server Side Instances (SSI) werden verwendet, um Funktionen, Kopf- und Fußzeilen oder Elemente zu erstellen, die auf mehreren Seiten wiederverwendet werden können.
Serverseitige Includes
Mit der Funktion include() oder require() können Sie den Inhalt einer Datei in die PHP-Datei einfügen, bevor der Server die Datei ausführt. Die beiden Funktionen sind bis auf die Art und Weise, wie sie mit Fehlern umgehen, identisch. Die Funktion include() generiert eine Warnung (das Skript setzt jedoch die Ausführung fort), während die Funktion require() einen schwerwiegenden Fehler generiert (die Ausführung des Skripts stoppt, nachdem der Fehler aufgetreten ist).
Mit diesen beiden Funktionen werden Funktionen, Kopfzeilen, Fußzeilen oder Elemente erstellt, die über mehrere Seiten hinweg wiederverwendet werden können.
Dies spart Entwicklern viel Zeit. Dies bedeutet, dass Sie eine Standard-Header- oder Menüdatei erstellen können, auf die alle Webseiten verweisen. Wenn der Header aktualisiert werden muss, müssen Sie nur eine Include-Datei aktualisieren, oder wenn Sie der Site eine neue Seite hinzufügen, müssen Sie nur die Menüdatei ändern (anstatt die Links auf allen Seiten zu aktualisieren).
include()-Funktion
include()-Funktion kann den gesamten Text in der angegebenen Datei abrufen und den Text mithilfe der include-Funktion in die Datei kopieren.
Beispiel 1
设您拥有一个标准的页眉文件,名为 "header.php"。如需在页面中引用这个页眉文件,请使用 include() 函数,就像这样: <html> <body> <?php include("header.php"); ?> <h1>Welcome to my home page</h1> <p>Some text</p> </body> </html>
Beispiel 2
现在,假设我们有一个在所有页面上使用的标准菜单文件。请看下面这个 "menu.php": <html> <body> <a href=http://www.phphtm.com>Home</a> | <a href=http://www.phphtm.com>About Us</a> | <a href=http://www.phphtm.com>Contact Us</a> 三个文件,"default.php"、"about.php" 以及 "contact.php" 都引用了 "menu.php" 文件。这是 "default.php" 中的代码: <?php include("menu.php"); ?> <h1>Welcome to my home page</h1> <p>Some text</p> </body> </html> 如果您在浏览器中查看 "default.php" 的源代码,应该类似这样: <html> <body> <a href="default.php">Home</a> | <a href="about.php">About Us</a> | <a href="contact.php">Contact Us</a> <h1>Welcome to my home page</h1> <p>Some text</p> </body> </html> 同时,当然,我们也将用相同的方法处理 "about.php" 和 "contact.php"。通过使用引用文件,在您需要重命名链接、更改链接顺序或向站点添加另一张网页时,只要简单地更新 "menu.php" 文件中的文本即可。 require() 函数 require() 函数与 include() 相同,不同的是它对错误的处理方式。 include() 函数会生成一个警告(但是脚本会继续执行),而 require() 函数会生成一个致命错误(fatal error)(在错误发生后脚本会停止执行)。 如果在您通过 include() 引用文件时发生了错误,会得到类似下面这样的错误消息:
PHP-Code:
<html> <body> <?php include("wrongFile.php"); echo "Hello World!"; ?> </body> </html>
Fehlermeldung:
Warning: include(wrongFile.php) [function.include]: failed to open stream: No such file or directory in C:\home\website\test.php on line 5 Warning: include() [function.include]: Failed opening 'wrongFile.php' for inclusion (include_path='.;C:\php5\pear') in C:\home\website\test.php on line 5 Hello World! 请注意,echo 语句依然被执行了!这是因为警告不会中止脚本的执行。 现在,让我们使用 require() 函数运行相同的例子。
PHP-Code:
<html> <body> <?php require("wrongFile.php"); echo "Hello World!"; ?> </body> </html>
Fehlermeldung:
Warning: require(wrongFile.php) [function.require]: failed to open stream: No such file or directory in C:\home\website\test.php on line 5 Fatal error: require() [function.require]: Failed opening required 'wrongFile.php' (include_path='.;C:\php5\pear') in C:\home\website\test.php on line 5
Die Echo-Anweisung wird nicht ausgeführt, da die Ausführung des Skripts nach Auftreten eines schwerwiegenden Fehlers abgebrochen wird.
Da das Skript die Ausführung nicht fortsetzt, wenn die Datei nicht existiert oder umbenannt wird, empfehlen wir die Verwendung von require() anstelle von include().
Das Obige ist der Inhalt des PHP Advanced Tutorial (2): PHP-Referenzdateien. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!