echo $begrüßung;
// * Funktion zum lesen von Dateien
function getFile($file) {
$stream=fopen($file,"r");
$content=fread($stream,filesize($file));
fclose($stream);
return $content;
}
Diese Funktion beinhaltet keine Fehlerbehandlung. Was ist, wenn $file nicht existiert?
Außerdem ist es im Prinzip nicht nötig, file_get_contents() nachzubauen :-)
// * einlesen der Templates
$design=getFile("design.html");
$navbit=getFile("navigation.html");// * Umwandlung der Variablen
eval("$design="$design";");// * Ausgabe der Website
echo $design;
Allerdings steht bei der Ausgabe immer noch $navbit da. Was habe ich falsch gemacht?
Zum Nachstellen des Problems verwendete ich dieses Codeschnipselchen:
$design = 'text $navbit mehr text';
$navbit = 'navigation';
eval("\$design=\"$design\";");
echo $design;
Damit trat der von dir beschriebene Fehler nicht auf.
Ich kann dir deshalb nur allgemein raten, die Variableninhalte und Ergebnisse von Ausdrücken zu prüfen. Du könntest auch das zu Evaluierende in einem String zusammenbauen, diesen zur Kontrolle ausgeben und dan evaluieren lassen.
Abgesehen davon kannst du eval() vermeiden, wenn du einen eindeutigen Platzhalter für die Navigation einfügst und diesen dann mittels str_replace() durch die eigentliche Navigation ersetzt.
echo "$verabschiedung $name";