


Welche Möglichkeiten gibt es, Dateien in PHP zu importieren? Die PHP-Importdatei enthält vier Anweisungen: include, require, include_once, require_once Schauen wir uns konkrete Beispiele für PHP-Importdateien an.
Grundlegende Syntax
require: Die require-Funktion wird im Allgemeinen am Anfang des PHP-Skripts platziert und wird es auch sein Wird vor PHP ausgeführt. Lesen Sie zuerst die durch require angegebene importierte Datei ein, schließen Sie sie ein und versuchen Sie, die importierte Skriptdatei auszuführen. Die Funktionsweise von require besteht darin, die Ausführungseffizienz von PHP zu verbessern. Nachdem es einmal auf derselben Webseite interpretiert wurde, wird es beim zweiten Mal nicht interpretiert. Da die importierte Datei jedoch nicht wiederholt interpretiert wird, müssen Sie include verwenden, wenn Sie Schleifen oder bedingte Anweisungen verwenden, um Dateien in PHP einzuführen.
include: kann an einer beliebigen Stelle im PHP-Skript platziert werden, normalerweise im Verarbeitungsteil der Prozesssteuerung. Wenn das PHP-Skript in der durch include angegebenen Datei ausgeführt wird, wird es eingebunden und es wird versucht, es auszuführen. Diese Methode kann den Prozess der Programmausführung vereinfachen. Wenn Sie zum zweiten Mal auf dieselbe Datei stoßen, interpretiert PHP sie immer noch neu. Die Ausführungseffizienz von include ist viel geringer als die von require. Gleichzeitig wird die benutzerdefinierte Funktion in die importierte Datei aufgenommen. PHP wird das Problem der wiederholten Funktionsdefinition während des Interpretationsprozesses haben.
require_once / include_once: haben jeweils die gleiche Funktion wie require / include. Der Unterschied besteht darin, dass sie bei der Ausführung zunächst prüfen, ob der Zielinhalt zuvor importiert wurde importiert wurde, wird derselbe Inhalt nicht erneut eingeführt.
Unterschiede voneinander
enthalten und erfordern:
include hat einen Rückgabewert, während require keinen Rückgabewert hat
Wenn include die Datei nicht laden kann, wird eine Warnung (E_WARNING) generiert und das Skript wird nach Auftreten des Fehlers weiter ausgeführt. Daher wird include verwendet, wenn Sie die Ausführung fortsetzen und Ergebnisse an den Benutzer ausgeben möchten.
//test1.php <?php include './tsest.php'; echo 'this is test1'; ?> //test2.php <?php echo 'this is test2\n'; function test() { echo 'this is test\n'; } ?> //结果: this is test1
require generiert einen schwerwiegenden Fehler (E_COMPILE_ERROR), wenn der Ladevorgang fehlschlägt, und die Ausführung des Skripts stoppt, nachdem der Fehler auftritt. Wird im Allgemeinen verwendet, wenn nachfolgender Code von der geladenen Datei abhängt.
//test1.php <?php require './tsest.php'; echo 'this is test1'; ?> //test2.php <?php echo 'this is test2\n'; function test() { echo 'this is test\n'; } ?>
Ergebnis:
include und include_once:
Geladene Dateien einschließen werden nicht als Duplikate gewertet. Solange eine Include-Anweisung vorhanden ist, wird sie einmal geladen (auch wenn es zu wiederholten Ladevorgängen kommen kann). Wenn include_once eine Datei lädt, gibt es einen internen Beurteilungsmechanismus, um festzustellen, ob der vorherige Code geladen wurde. Hierbei ist zu beachten, dass include_once anhand der Frage beurteilt wird, ob zuvor eine Datei mit demselben Pfad importiert wurde, und nicht anhand des Inhalts der Datei (d. h. der Inhalt der beiden zu importierenden Dateien ist derselbe). , und die Verwendung von include_once führt immer noch zwei ein).
//test1.php <?php include './test2.php'; echo 'this is test1'; include './test2.php'; ?> //test2.php <?php echo 'this is test2'; ?> //结果: this is test2this is test1this is test2 //test1.php <?php include './test2.php'; echo 'this is test1'; include_once './test2.php'; ?> //test2.php <?php echo 'this is test2'; ?> //结果: this is test2this is test1 //test1.php <?php include_once './test2.php'; echo 'this is test1'; include './test2.php'; ?> //test2.php <?php echo 'this is test2'; ?> //结果: this is test2this is test1this is test2 //test1.php <?php include_once './test2.php'; echo 'this is test1'; include_once './test2.php'; ?> //test2.php <?php echo 'this is test2'; ?> //结果: this is test2this is test1
require und require_once: Derselbe Unterschied wie include und include_once.
Ausführungsprozess beim Laden
1. Beenden Sie den PHP-Skriptmodus aus der Include-Anweisung (erforderlich) (geben Sie den HTML-Codemodus ein)
2. Laden Sie den Code in die durch die Include-Anweisung festgelegte Datei und versuchen Sie, ihn auszuführen.
3. Verlassen Sie den HTML-Modus, wechseln Sie erneut in den PHP-Skriptmodus und fahren Sie mit der Ausführung des nachfolgenden Skripts fort
//test1.php <html> <body> 主文件开始位置: <?php echo "<br> 主文件中位置 A"; include "./test2.php"; //要载入的文件 echo "<br> 主文件中位置 B"; ?> <br> 主文件结束位置 </body> </html> //test2.php <br> 被载入文件位置 1 <?php echo "<br> 被载入文件位置 2"; ?> <br> 被载入文件位置 3
Ergebnis:
Analyse:
Pfadproblem beim Laden
Relativer Pfad:
Suchen Sie den Speicherort einer geladenen Datei relativ zum Speicherort der aktuellen Webseitendatei.
./ 表示表示当前位置,即当前网页文件所在的目录 . . / 表示上一级位置,即当前网页文件所在目录的上一级目录 //例如: include "./test2.php"; require "../../test3.html";
Absoluter Pfad:
ist in lokalen absoluten Pfad und Netzwerk-absoluten Pfad unterteilt.
Lokaler absoluter Pfad :
Suchen Sie rekursiv Schicht für Schicht abwärts vom lokalen Stammverzeichnis, bis Sie die zu importierende Datei im entsprechenden Verzeichnis finden.
include "C:/PHP/test/test2.php";
Wir alle wissen, dass absolute Pfade der Portabilität und Wartbarkeit des Projekts nicht förderlich sind, daher ist es im Allgemeinen selten, absolute Pfade direkt in den Code zu schreiben, aber was sollten wir tun, wenn wir absolute Pfade verwenden müssen? Wege? ? Es gibt magische Konstanten __DIR__ und das globale Array $_SERVER in PHP. Die Verwendung ist wie folgt:
<?php define('DS') or define('DS',DIRECTORY_SEPARATOR); echo "使用绝对路径引入(方法一)"; include __DIR__ . DS . 'test2.php'; echo "使用绝对路径载入方法(方法二)"; $root = $_SERVER['DOCUMENT_ROOT']; // 获得当前站点的根目录 include $root.DS.'node_test'.DS.'inAndRe'.DS. 'test2.php'; ?>
Absoluter Netzwerkpfad:
Link zur Datei über die URL, und der Server gibt nach der Ausführung die Datei zurück, auf die die URL verweist
include "http://www.lishnli/index.php"
Kein Pfad:
Es wird nur der Dateiname, aber keine Pfadinformationen angegeben Dieses Mal befindet sich PHP im aktuellen Webseitenverzeichnis. Suchen Sie nach der Datei. Wenn eine Datei mit demselben Namen gefunden wird, führen Sie sie aus und importieren Sie sie.
需要注意:无论采用哪种路径,必须要加上文件后缀名,这四种文件载入方式不能识别无后缀的文件。
//test1.php include "./test2.php"; //结果:this is test2 //test1.php include "./test2"; //结果:
返回值的比较
上文说道include有返回值,而require无返回值
对于include,如果载入成功,有返回值,返回值为1;如果载入失败,则返回false.
对于require,如果载入成功,有返回值,返回值为1;如果载入失败,无返回值。
//test1.php <?php $a = include "./test2.php"; var_dump($a); echo "<br>"; $b = include "./test2.phps"; var_dump($b); echo "<br>"; $c = require "./test2.php"; var_dump($c); echo "<br>"; $d = require "./test2.phps"; var_dump($d); ?>
输出:
当文件中有return:
当被载入文件中有return语句时,会有另外的机制,此时return语句的作用是终止载入过程,即被载入文件中return语句的后续代码不再载入。return语句也可以用于被载入文件载入时返回一个数据。
//test1.php <?php $a = include "./test2.php"; echo "<br>"; var_dump($a); ?> //test2.php //该文件中有return语句 <?php $b = 'test2'; echo "被载入的文件:A 位置"; return $b; echo "<br 被载入的文件: B 位置"; ?>
结果:
相关推荐:
php 字符串写入文件或追加入文件(file_put_contents)
Das obige ist der detaillierte Inhalt vonWelche Möglichkeiten gibt es, Dateien in PHP zu importieren? Einführung in vier Methoden zum Einführen von Dateien in PHP (Code). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Gründe für einen Phpessionsfehler sind Konfigurationsfehler, Cookie -Probleme und Sitzungsablauf. 1. Konfigurationsfehler: Überprüfen Sie die richtige Sitzung und setzen Sie die korrekte Sitzung. 2. Kookie -Problem: Stellen Sie sicher, dass der Cookie korrekt eingestellt ist. 3.Sesion läuft ab: Passen Sie die Sitzung an.

Zu den Methoden zur Debugg -Sitzungsprobleme in PHP gehören: 1. Überprüfen Sie, ob die Sitzung korrekt gestartet wird. 2. Überprüfen Sie die Lieferung der Sitzungs -ID; 3. Überprüfen Sie den Speicher und das Lesen von Sitzungsdaten. 4. Überprüfen Sie die Serverkonfiguration. Durch Ausgabe von Sitzungs-ID und Daten, Anzeigen von Sitzungsdateiinhalten usw. können Sie effektiv Diagnose und Lösen von Sitzungen im Zusammenhang mit Sitzungen diagnostizieren und lösen.

Mehrere Anrufe bei Session_Start () führen zu Warnmeldungen und möglichen Datenüberschreibungen. 1) PHP wird eine Warnung ausstellen und veranlassen, dass die Sitzung gestartet wurde. 2) Dies kann zu unerwarteten Überschreibungen von Sitzungsdaten führen. 3) Verwenden Sie Session_Status (), um den Sitzungsstatus zu überprüfen, um wiederholte Anrufe zu vermeiden.

Das Konfigurieren des Sitzungslebenszyklus in PHP kann durch Einstellen von Sitzungen erreicht werden. 1) Session.gc_maxLifetime steuert die Überlebenszeit der serverseitigen Sitzungsdaten, 2) Sitzung.cookie_Lifetime steuert den Lebenszyklus von Client-Cookies. Wenn der Keks auf 0 eingestellt ist, läuft es, wenn der Browser geschlossen ist.

Die Hauptvorteile der Verwendung von Datenbankspeichersitzungen sind Persistenz, Skalierbarkeit und Sicherheit. 1. Persistenz: Auch wenn der Server neu gestartet wird, können die Sitzungsdaten unverändert bleiben. 2. Skalierbarkeit: Anwendbar für verteilte Systeme, um sicherzustellen, dass Sitzungsdaten zwischen mehreren Servern synchronisiert werden. 3. Sicherheit: Die Datenbank bietet verschlüsselten Speicher zum Schutz vertraulicher Informationen.

Das Implementieren der benutzerdefinierten Sitzung in PHP kann durch die Implementierung der SessionHandlerInterface -Schnittstelle durchgeführt werden. Die spezifischen Schritte umfassen: 1) Erstellen einer Klasse, die SessionHandlerInterface wie CustomSessionHandler implementiert; 2) Umschreiben von Methoden in der Schnittstelle (z. B. offen, schließen, lesen, schreiben, zerstören, GC), um die Lebenszyklus- und Speichermethode von Sitzungsdaten zu definieren; 3) Registrieren Sie einen benutzerdefinierten Sitzungsprozessor in einem PHP -Skript und starten Sie die Sitzung. Auf diese Weise können Daten in Medien wie MySQL und Redis gespeichert werden, um Leistung, Sicherheit und Skalierbarkeit zu verbessern.

SessionID ist ein Mechanismus, der in Webanwendungen verwendet wird, um den Benutzersitzstatus zu verfolgen. 1. Es handelt sich um eine zufällig generierte Zeichenfolge, mit der die Identitätsinformationen des Benutzers während mehrerer Interaktionen zwischen dem Benutzer und dem Server aufrechterhalten werden. 2. Der Server generiert und sendet ihn über Cookies- oder URL -Parameter an den Client, um diese Anforderungen in mehreren Anforderungen des Benutzers zu identifizieren und zu verknüpfen. 3. Die Erzeugung verwendet normalerweise zufällige Algorithmen, um Einzigartigkeit und Unvorhersehbarkeit zu gewährleisten. 4. In der tatsächlichen Entwicklung können In-Memory-Datenbanken wie Redis verwendet werden, um Sitzungsdaten zu speichern, um die Leistung und Sicherheit zu verbessern.

Das Verwalten von Sitzungen in staatenlosen Umgebungen wie APIs kann durch Verwendung von JWT oder Cookies erreicht werden. 1. JWT ist für Staatenlosigkeit und Skalierbarkeit geeignet, aber es ist groß, wenn es um Big Data geht. 2. Kookies sind traditioneller und einfacher zu implementieren, müssen jedoch mit Vorsicht konfiguriert werden, um die Sicherheit zu gewährleisten.


Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

WebStorm-Mac-Version
Nützliche JavaScript-Entwicklungstools

DVWA
Damn Vulnerable Web App (DVWA) ist eine PHP/MySQL-Webanwendung, die sehr anfällig ist. Seine Hauptziele bestehen darin, Sicherheitsexperten dabei zu helfen, ihre Fähigkeiten und Tools in einem rechtlichen Umfeld zu testen, Webentwicklern dabei zu helfen, den Prozess der Sicherung von Webanwendungen besser zu verstehen, und Lehrern/Schülern dabei zu helfen, in einer Unterrichtsumgebung Webanwendungen zu lehren/lernen Sicherheit. Das Ziel von DVWA besteht darin, einige der häufigsten Web-Schwachstellen über eine einfache und unkomplizierte Benutzeroberfläche mit unterschiedlichen Schwierigkeitsgraden zu üben. Bitte beachten Sie, dass diese Software

SublimeText3 Englische Version
Empfohlen: Win-Version, unterstützt Code-Eingabeaufforderungen!

EditPlus chinesische Crack-Version
Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor
