Hello,
$str = "anfang";
$str .= include('../Datei2.php');
$str .= "ende";
So?
Nee, wenn du es "so" machen willst, brauchst du ob_start() und ob_get_clean().Nein, man kann auch einfach so ein return "..."; in eine Datei schreiben, die inkludiert werden soll und include liefert dann brav wie eine Funktion diesen Wert.
Man sollte aber nicht verschweigen, dass include darüberhinaus aber noch weitere Veränderungen am Gültigkeitsbereich vornimmt, in den es eine Ressource einbindet.
Den "Rückgabewert" liefert es zusätzlich, wenn man include wie eine Funktion aufruft. Diese "Funktion" greift aber global und nachhaltig auf alle Werte und Bezeichner des Bereiches zu, in dem sie aufgerufen wird. Das ist der Unterschied zu den normalen Funktionen in PHP.
Außerdem fügt include auch weitere Funktionsbezeichner (Funktionen) zum Hauptgültigkeitsberich hinzu, wenn es diese enhält, auch wenn es _innerhalb_ einer Funktion aufgerufen wurde. Mitgebrachte Variablen werden hingegen nur lokal in dieser Funktion gültig.
Liebe Grüße aus dem schönen Oberharz
Tom vom Berg