HTML Website in PHP umwandeln - Ladedauer?
Ich moechte eine Website welche aus hunderten einzelnen HTML Seiten besteht umwandeln, so dass diese über PHP ausgegeben werden.
(Damit ich interaktive Dinge einbauen kann)
Wie bewerkstellige ich das am besten, und wie stark erhoeht sich die Ladezeit dadurch?
2 Antworten
Der banalste Weg führt dann vermutlich schicht über die PHP-Funktion include, der im einfachsten Beispiel via folgenden Code eine entsprechende HTML-Seite in das Dokument einbettet.
<?php include 'footer.php';?>
Der Befehl kann je Dokument häufiger genutzt werden und so einzelne Bestandteile wie Head, Navigation, Artikel, Benutzerpanel u.A. bei Bedarf einbinden.
Auf einem gängigen Webhosting ist der Unterschied in der Ladezeit effektiv nicht wahrnehmbar. Selbst mehrere Abfragen liegen in einem Bereich für den man schon im Millisekunden-Bereich messen müsste um überhaupt einen Unterschied registrieren zu können.
Im günstigsten Fall beschleunigt ein optimierter PHP-Code sogar, wenn Inhalte nur bedarfsabhängig geladen werden müssen, statt ein wesentlich größeres, mit verschiedenen Inhalten gefülltes HTML-Dokument vollständig zu laden. Zumal hier auch der Browsercache besser arbeiten kann, da sich unter Umständen Teile der Seite gar nicht verändern und Head, Footer etc nicht bei jedem Aufruf komplett neu geladen werden müssen.
Die primitivste Möglichkeit wäre die Dateiendungen von html nach php zu ändern. Alle Dateien, die im "document root" Bereich liegen werden dadurch durch den php Interpreter geschickt. Bei der heutigen Serverinfrastruktur mit schnellen Ladezeiten ist die Erhöhung minimal.
Das lässt sich eigentlich auch noch verkürzen, indem man das Pferd umdreht und die HTML-Dateien ebenso durch den Interpreter schickt.
Lege dafür eine Datei namens .htaccess im Rootverzeichnis deiner Webseite an, mit dem folgenden Inhalt:
AddType application/x-httpd-php .html
Der Server dürfte folgend alle Dateien mit der Endung .html so wie .php-Dateien verwerten. Die Fälle, die trotzdem noch statisch gehandhabt werden sollen, könnte man stattdessen mit .htm am Ende benennen.
Super, Danke!