PHP – include

Stell dir vor, deine Website hat zwanzig Seiten – alle mit derselben Navigation. Dann kommt ein neuer Menüpunkt hinzu. Ohne include öffnest du zwanzig Dateien und änderst zwanzig Mal dieselbe Stelle. Mit include liegt die Navigation in einer einzigen Datei, du änderst sie einmal – und alle zwanzig Seiten zeigen sofort das aktualisierte Menü.

Abschnitte: Wie include funktioniert, Sinnvolle Dateistruktur, Navigation und Footer einbinden, Der richtige Pfad.

Wie include funktioniert

include fügt den Inhalt einer anderen PHP-Datei an genau der Stelle ein, wo der Befehl steht – so als hättest du den Code direkt dort hingeschrieben. Die eingebundene Datei kann HTML, PHP oder beides enthalten.

<?php include 'navigation.php'; ?>

PHP liest die Datei navigation.php ein und gibt ihren Inhalt aus – fertig. Was auch immer in navigation.php steht, erscheint an dieser Stelle der Seite.

Sinnvolle Dateistruktur

Wiederverwendbare Bausteine wie Navigation, Sidebar und Footer legt man üblicherweise in einem eigenen Ordner ab – zum Beispiel /includes/. So hat man alle zentralen Dateien an einem Ort und findet sie schnell wieder:

meine-website/
├── includes/
│   ├── navigation.php
│   ├── sidebar.php
│   └── footer.php
├── index.php
├── kontakt.php
└── ueber-mich.php

Navigation und Footer einbinden

So sieht eine typische PHP-Seite aus, die Navigation und Footer zentral einbindet:

<!DOCTYPE html>
<html lang="de">
<head>
  <meta charset="UTF-8">
  <title>Meine Seite</title>
</head>
<body>

<?php include $_SERVER['DOCUMENT_ROOT'] . '/includes/navigation.php'; ?>

<main>
  <h1>Willkommen</h1>
  <p>Hier steht der eigentliche Seiteninhalt.</p>
</main>

<?php include $_SERVER['DOCUMENT_ROOT'] . '/includes/footer.php'; ?>

</body>
</html>

Jede weitere Seite deiner Website bindet dieselben Dateien ein. Wenn du die Navigation um einen neuen Punkt erweiterst, öffnest du nur navigation.php – und die Änderung erscheint auf allen Seiten gleichzeitig.

Der richtige Pfad

Pfade bei include können relativ oder absolut angegeben werden. Relative Pfade sind fehleranfällig, sobald Dateien in Unterordnern liegen – ein Ordner tiefer stimmt der Pfad plötzlich nicht mehr. Zuverlässiger ist $_SERVER['DOCUMENT_ROOT']: Das ist der absolute Pfad zum Wurzelverzeichnis deiner Website, immer korrekt egal von welcher Unterseite aus eingebunden wird:

// Relativ – funktioniert nur wenn die Datei im selben Ordner liegt
<?php include '../includes/footer.php'; ?>

// Absolut mit DOCUMENT_ROOT – immer zuverlässig
<?php include $_SERVER['DOCUMENT_ROOT'] . '/includes/footer.php'; ?>

Auf dieser Lernseite siehst du $_SERVER['DOCUMENT_ROOT'] auf jeder einzelnen Seite – Navigation, Sidebar und Footer werden alle so eingebunden. Einmal erstellt, nie wieder angefasst – außer wenn sich wirklich etwas ändert.