Die Funktion von include in PHP besteht darin, die angegebene Datei einzuschließen und auszuführen. Wenn kein Verzeichnis angegeben ist, wird sie gemäß dem durch include_path angegebenen Verzeichnis durchsucht Beispiele für seine Verwendung sind beispielsweise „include ‚vars.php‘;“.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP Version 7.1, Dell G3-Computer.
Was ist die Funktion von include in PHP?
include (PHP 4, PHP 5, PHP 7, PHP 8)
include-Ausdruck schließt die angegebene Datei ein und führt sie aus.
Die folgenden Dokumente gelten auch für require
.
Die eingebundene Datei wird zunächst nach dem durch den Parameter angegebenen Pfad durchsucht. Wenn kein Verzeichnis angegeben ist (nur der Dateiname), wird nach dem durch include_path angegebenen Verzeichnis gesucht. Wenn die Datei nicht unter include_path gefunden wird, sucht include schließlich in dem Verzeichnis, in dem sich die aufrufende Skriptdatei befindet, und im aktuellen Arbeitsverzeichnis. Die Include-Struktur gibt ein E_WARNING aus, wenn die Datei am Ende nicht gefunden wird; dies unterscheidet sich von require, das ein E_ERROR ausgibt.
Beachten Sie, dass, wenn auf die Datei nicht zugegriffen werden kann, sowohl include als auch require eine zusätzliche E_WARNING ausgeben, bevor die letzte E_WARNING bzw. E_ERROR ausgegeben wird.
Wenn ein Pfad definiert ist – sei es ein absoluter Pfad (beginnend mit einem Laufwerksbuchstaben oder unter Windows, beginnend mit / unter Unix/Linux) oder ein relativer Pfad zum aktuellen Verzeichnis (beginnend mit . oder ..) – include_path wird es komplett ignorieren. Wenn eine Datei beispielsweise mit ../ beginnt, sucht der Parser nach der Datei im übergeordneten Verzeichnis des aktuellen Verzeichnisses.
Weitere Informationen darüber, wie PHP mit Include-Dateien und Include-Pfaden umgeht, finden Sie in der Dokumentation im Abschnitt „include_path“.
Wenn eine Datei eingebunden wird, erbt der darin enthaltene Code den Variablenbereich der Include-Zeile. Von diesem Zeitpunkt an sind alle Variablen, die in der aufrufenden Datei in dieser Zeile verfügbar sind, auch in der aufgerufenen Datei verfügbar. Allerdings haben alle in Include-Dateien definierten Funktionen und Klassen einen globalen Gültigkeitsbereich.
Beispiel #1 Einfaches Include-Beispiel
vars.php
<?php $color = 'green'; $fruit = 'apple'; ?>
test.php
<?php echo "A $color $fruit"; // A include 'vars.php'; echo "A $color $fruit"; // A green apple ?>
Wenn ein Include in einer Funktion in einer aufrufenden Datei erscheint, verhält sich der gesamte in der aufgerufenen Datei enthaltene Code so, als ob er definiert wäre innerhalb der Funktion. Es folgt also dem Variablenbereich dieser Funktion. Die einzige Ausnahme von dieser Regel sind magische Konstanten, die vom Parser verarbeitet werden, bevor die Einbeziehung erfolgt.
Beispiel #2 Einbindung in Funktionen
<?php function foo() { global $color; include 'vars.php'; echo "A $color $fruit"; } /* vars.php 在 foo() 范围内,所以 $fruit 在范围为不可用。 * * $color 能用是因为声明成全局变量。 */ foo(); // A green apple echo "A $color $fruit"; // A green ?>
Wenn eine Datei eingebunden wird, verlässt der Parser den PHP-Modus am Anfang der Zieldatei, wechselt in den HTML-Modus und fährt am Ende der Datei fort. Aus diesem Grund muss jeder Code in einer Objektdatei, der als PHP-Code ausgeführt werden muss, in gültigen PHP-Start- und End-Tags enthalten sein.
Wenn in PHP „URL-Include-Wrapper“ aktiviert sind, können einzubindende Dateien mithilfe von URLs (über HTTP oder andere unterstützte Wrapping-Protokolle – siehe Unterstützte Protokolle und Wrapping-Protokolle) anstelle lokaler Dateien angegeben werden. Wenn der Zielserver die Zieldatei als PHP-Code interpretiert, können Sie mithilfe der URL-Anforderungszeichenfolge für HTTP GET Variablen an die eingebundene Datei übergeben. Dies ist nicht unbedingt dasselbe wie das Enthalten einer Datei und das Erben des Variablenbereichs der übergeordneten Datei. Die Skriptdatei wurde tatsächlich auf dem Remote-Server ausgeführt und das lokale Skript enthält die Ergebnisse.
Beispiel #3 Include über HTTP
<?php /* 这个示例假定 www.example.com 配置为解析 .php 文件而不解析 .txt 文件。 * * 此外 “Works” 意味着 $foo 和 $bar 变量在包含的文件中是可用的。 */ // 无法执行; file.txt 没有被 www.example.com 当作 PHP 处理。 include 'http://www.example.com/file.txt?foo=1&bar=2'; // 无法执行;在本地文件系统中查找名为 “file.php?foo=1&bar=2” 的文件。 include 'file.php?foo=1&bar=2'; // 正常。 include 'http://www.example.com/file.php?foo=1&bar=2'; ?>
WARNUNG
Remote-Dateien können vom Remote-Server verarbeitet werden (abhängig vom Dateisuffix und davon, ob auf dem Remote-Server PHP ausgeführt wird), müssen aber ein gültiges PHP-Skript erstellen Es wird vom lokalen Server verarbeitet. Soll eine Datei von einem Remote-Server remote ausgeführt werden und nur die Ergebnisse ausgeben, ist es besser, die Funktion readfile() zu verwenden. Achten Sie außerdem besonders darauf, sicherzustellen, dass Remote-Skripte legalen und erforderlichen Code erzeugen.
Empfohlenes Lernen: „PHP-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas ist die Funktion von include in PHP?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!