von subjective |
"Wenn die Lösung eval() heißt, hast du ein Problem" 
Eine eingebundene Datei läuft immer im aktuellen Namenraum und kann auf dessen Variablen zugreifen. Es kann sie natürlich auch setzen, ein echo ist völlig unnötig.
<?php ... ?> ist PHP-Syntax - sie wegzulassen wäre falsch. Man sollte bedenken das man auch innerhalb von PHP jederzeit mit ?> ... <?php wieder eine Textausgabe einfügen kann. Eine PHP-Datei, welche PHP-Anweisungen nicht in <?php ?> einschließt ist also ganz simpel ungültiges PHP. (Es gibt eine Ausnahme, welche die Regel bestätigt.)
Bei includes() die selbst keine Ausgabe haben sollen, bietet sich an den enthaltenen Quellcode in Funktionen zu verpacken, welche man dann von der Hauptdatei nach dem Einbinden aufruft. Somit kann man auch Parameter übergeben und exakter steuern.
Falls man keinen Einfluss auf den Quellcode des Includes hat und Ausgaben blocken möchte hilft der folgende Code:
1:
2:
3:
4: | ob_start();
include('datei.php');
$ausgabe = ob_get_contents();
ob_end_clean(); |
|
von languitar |
Du kannst Code, der nicht in einer PHP-Datei steht mit eval ausführen, falls dir das weiterhilft, aber wenn in der datei selbst echo-Anweisungen stehen, kannst du diese natürlich nicht wirklich umgehen, es sei denn du lässt den Inhalt in einen Buffer schreiben. |
von pascalplus |
hallo
Ich möchte in php eine Datei einbinden und der Inhalt dieser Datei danach auch anzeigen lassen.
NUR möchte ich in dieser einzubindenden Datei auch Variablen gebrauchen, trotzdem aber in dieser Datei nicht "echo", sowie <?php und ?> schreiben zu müssen.
Im Quelltext vom wbb-Forum wird sowas gemacht, aber dort habe ich nicht ganz den Durchblick im Code;)
---
ridere.de
sac-grenchen
linkplus |
|