Zitat Zitat von Teelicht Beitrag anzeigen
Da ich nur (fortgeschrittener?) Anfänger in PHP bin: Was sollte man denn stattdessen nutzen? Lieber Require()? Und was ist denn an include() so unelegant?
Ich include hier eine .html Datei. include() interessiert die Dateiendung aber nicht, ein <?php ?> Block wird immer ausgeführt (auch wenns ne .txt Datei ist). In einer .html Datei hat sowas aber nix zu suchen, und es wäre wahrscheinlich auch nicht erwünscht, dass solche Blöcke ausgeführt werden. Also wäre echo file_get_contents('navigation.html'); wesentlich eleganter, da es verhindert, dass ein Angreifer sich den eventuell variablen Dateinamen zu Nutzen macht um eine PHP Datei auszuführen, die er vorher auf den Server eingeschleust hat. Frag mich nicht wie, aber es geht ums Prinzip

require() würde ich da nicht benutzen. Lieber ein if(include('navigation')) { ... }, um evtl. eine geeignete Fehlermeldung anzuzeigen, die keine Daten preisgibt, die der Benutzer nicht sehen soll. require() würde ich nur für PHP Dateien benutzen, die Funktionen und Klassen enthalten, die für die spätere Ausführung gebraucht werden und im Allgemeinen nicht fehlen sollten.