Navigation
 Startseite
 Fachbücher
 Forum
 Webmaster News
 Script Newsletter
 Kontakt
 Script Installation
 Php
 Php Tutorials
 Impressum

Community-Bereich
 kostenlos Registrieren
 Anmelden
 Benutzerliste

Script Datenbank
 Script Archiv
 Script Top 20
 Screenshots
 Testberichte

Suche
 

Unsere Php Scripts
 Counter Script
 Umfrage Script
 Bilder Upload Script
 Terminverwaltung
 Simple PHP Forum
 RSS Grabber

Script Mods
 phpBB Adsense Mode

Tools und Generatoren
 .htpasswd Generator
 md5 Generator
 base64 Generator
 Markdown to HTML
 Colorpicker
 Unix timestamp Tool
 TLD Liste
 Webkatalog‑Verzeichnis

Hosterplus.de
Bekommen Sie Speicherplatz (Webspace), Domains und...
https://www.Hosterplus.de
Artfiles.de
Bietet Serviceorientierte Internetdienstleistungen...
https://www.Artfiles.de
 
 


Grundlagen und Methoden zum Einbinden von Dateien in PHP über include

Sie befinden sich: Home > Php > include in Php

Wenn Sie eine Website mit PHP erstellen, ist es oft nötig, dass Sie Code aus anderen Dateien einbinden. Das macht Ihre Webseite übersichtlicher und einfacher zu verwalten. Das PHP-Kommando include hilft Ihnen dabei. Es erlaubt Ihnen, den Inhalt einer Programmdatei in eine andere einzufügen.

Stellen Sie sich vor, Sie haben eine Webseite, die aus vielen Teilen wie dem Kopf (Header), dem Fuß (Footer) und einem Menü besteht. Sie möchten nicht den gleichen Code auf jeder Seite wiederholen. Hier kommt include ins Spiel. Sie schreiben den Code für den Kopf, das Menü und den Fuß nur einmal in separaten Dokument und binden diese dann in Ihre Hauptseite ein.

Beispiel:
Nehmen wir an, Sie haben eine Programmdatei namens header.php, die den oberen Teil Ihrer Webseite enthält, also den Seitenkopf. In Ihrer Hauptdatei, zum Beispiel index.php, können Sie header.php ganz einfach einbinden:

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

Mit diesem Befehl wird PHP die Datei suchen und ihren Inhalt dort einfügen, wo Sie den include Befehl platziert haben. Wenn diese unter anderem Ihren Website-Titel und Ihr Logo enthält, erscheinen diese Elemente auf jeder Seite, die header.php einbindet.

Erweiterte Nutzung:
Was, wenn Sie nicht nur eine, sondern mehrere Programmdateien integrieren möchten? Kein Problem! Sie können include mehrmals verwenden:

<?php
include 'header.php';
include 'menu.php';
include 'footer.php';
?>

Hier binden Sie drei Teile ein: Kopf, Menü und Fuß. Jede dieser Programmdateien enthält spezifischen Code, der auf jeder Seite Ihrer Webseite wiederkehrt.

Was ist include_once?
Manchmal möchten Sie sicherstellen, dass ein Dokument nur einmal eingefügt wird, auch wenn sie versehentlich mehrfach aufgerufen wird. Hierfür gibt es include_once. Dieses Kommando funktioniert wie include, stellt aber sicher, dass das Skript nur ein einziges Mal eingefügt wird.

Beispiel:

<?php
include_once 'header.php';
include_once 'menu.php';
?>

Wenn header.php bereits durch include_once integriert wurde, ignoriert PHP weitere include_once Aufrufe für dieselbe Datei.

Tipps zum Auslagern:
Denken Sie daran, Ihre Dateien logisch zu organisieren. Lagern Sie wiederkehrende Elemente in eigene Dateien aus. Das macht Ihre Webseite leicht zu aktualisieren und zu warten.

Das Einbinden von PHP-Dateien ist also ein starkes Werkzeug, um Ihre Webseiten effizient und leicht verwaltbar zu gestalten. Nutzen Sie es, um Ihre Arbeit zu vereinfachen und Ihre Webseiten schnell zu aktualisieren.

Technische Details und Fehlerbehandlung beim Einbinden von Dateien mit der PHP Funktion include

Beim Inkludieren von Programmdateien in PHP gibt es einige technische Details und häufige Fehlerquellen, die Sie kennen sollten. Dies hilft Ihnen, Ihre Webseite effizienter zu gestalten und Fehler zu vermeiden.

Verwendung von include und require:
Es gibt zwei Hauptbefehle zum Einbinden von Skript-Dateien: include und require. Der Unterschied liegt in der Behandlung von Fehlern. include erzeugt eine Warnung, wenn die Datei nicht gefunden wird, aber das Skript läuft weiter. require hingegen stoppt das Skript mit einem fatalen Fehler, wenn die Datei fehlt. Dies ist nützlich, wenn das Fehlen der Datei die gesamte Webseite unbrauchbar macht.

Beispiel für require:
Angenommen, Ihre Webseite benötigt eine Datei config.php, die wichtige Einstellungen enthält. Wenn diese Datei fehlt, sollte die Webseite nicht weiterlaufen. Hier verwenden Sie:

<?php require 'config.php'; ?>

Wenn config.php nicht vorhanden ist, stoppt PHP die Ausführung und zeigt einen Fehler an. Dies verhindert, dass die Webseite mit unvollständigen Einstellungen läuft.

Pfade richtig setzen:
Ein häufiges Problem beim Einbinden von Programmdateien ist der Datei-Pfad. Wenn Sie relative Datei-Pfade verwenden, bezieht sich PHP auf das aktuelle Verzeichnis des Skripts, das ausgeführt wird. Dies kann zu Fehlern führen, wenn das Skript von einem anderen Ort aus aufgerufen wird. Um das zu vermeiden, verwenden Sie absoluten Datei-Pfade oder setzen Sie den include_path in der Datei php.ini oder mittels der Funktion set_include_path().

Beispiel für Pfade setzen:
Stellen Sie sich vor, Sie haben eine Dateistruktur, wo header.php im Ordner includes liegt. Sie können den Datei-Pfad absolut setzen, indem Sie voran den vollständigen Pfad angeben:

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

Hier nutzt das Skript die Server Variable $_SERVER. In dieser ist ein Array gespeichert. In diesem ist der Key DOCUMENT_ROOT vorhanden zum Wurzelverzeichnis Ihrer Website führt. So findet PHP die Datei, egal von wo das Skript aufgerufen wird.

Sicherheitshinweise für include:
Beim Einbinden von Dateien mit include und require sollten Sie wichtige Sicherheitsaspekte beachten:

  • Niemals Benutzereingaben direkt verwenden: Benutzereingaben dürfen niemals ungeprüft in include-Anweisungen verwendet werden, da dies zu Remote File Inclusion (RFI) führen kann.
  • Gefährlich:
    include $_GET['file']; // NIEMALS SO MACHEN!
  • Sicherer:
    // Definierte Dateien in einem Array erlauben
    $erlaubte_dateien = ['header', 'footer', 'sidebar'];
    $file = $_GET['section'] ?? '';
    
    if (in_array($file, $erlaubte_dateien)) {
        include 'templates/' . $file . '.php';
    } else {
        // Standardseite oder Fehlerseite laden
    }
  • Schutz sensibler Dateien: Legen Sie Dateien mit sensiblen Informationen (wie Datenbank-Zugangsdaten) außerhalb des öffentlich zugänglichen Webroot-Verzeichnisses ab.

Umgang mit htaccess:
Sie können auch die .htaccess-Datei nutzen, um den include path bei Ihrem Webserver zu setzen. Dies ist besonders nützlich, wenn Sie auf die php.ini-Datei keinen Zugriff haben. In der .htaccess-Datei könnten Sie folgendes hinzufügen:

php_value include_path ".:/usr/local/lib/php:/mein/eigener/pfad"

Durch diese Zeile fügt PHP den angegebenen Datei-Pfad zu den Orten hinzu, an denen es nach einzubindenden Dateien sucht.

Fehlerunterdrückung mit dem @-Operator:
In manchen Fällen möchten Sie Fehlermeldungen unterdrücken, die beim Einbinden von Dateien auftreten können. Dafür können Sie den @-Operator vor include oder require setzen:

<?php
@include 'config.php'; /* Unterdrückt Warnungen, wenn die Datei nicht gefunden wird */
@require 'wichtige_datei.php'; /* Unterdrückt die Warnung, es wird dennoch ein fataler Fehler ausgelöst */
?>

Beachten Sie: Der @-Operator sollte sparsam eingesetzt werden, da er Fehler versteckt, die eigentlich behoben werden sollten. In Produktivumgebungen kann dies jedoch nützlich sein, um dem Benutzer keine Fehlermeldungen anzuzeigen.

Behandlung von Datei nicht gefunden-Fehlern:
Wenn eine Datei nicht gefunden wird, gibt PHP standardmäßig eine Warnung aus. Sie können diese Warnungen abfangen und eine benutzerfreundlichere Nachricht anzeigen lassen. Dies erreichen Sie durch eine eigene Fehlerbehandlung mit file_exists():

<?php
if (file_exists('important.php')) {
    include 'important.php';
} else {
    echo 'Die benötigte Datei ist nicht verfügbar.';
}
?>

Hier prüft das PHP-Skript, ob die File existiert, bevor sie integriert wird. Das vermeidet Fehlermeldungen und macht Ihre Webseite professioneller.

Relative vs. Absolute Pfade:
Bei der Verwendung von include oder require ist es wichtig, zu verstehen, wie Pfade interpretiert werden:

/* Relative Pfade (ausgehend vom aktuellen Verzeichnis) */
/* Sucht im Unterordner "inc" des aktuellen Verzeichnisses */
include 'inc/header.php';

/* Geht eine Ebene nach oben und dann in den Ordner "config" */
include '../config/settings.php';

/* Absolute Pfade (vom Stammverzeichnis des Servers ausgehend) */
/* Vollständiger Serverpfad */
include '/var/www/html/includes/functions.php';
/* Webroot-basierter Pfad */
include $_SERVER['DOCUMENT_ROOT'] . '/includes/nav.php';

In komplexen Projekten empfiehlt es sich, Konstanten für Ihre Basis-Pfade zu definieren:

// In einer zentralen Konfigurationsdatei
define('BASE_PATH', dirname(__FILE__));
define('INCLUDE_PATH', BASE_PATH . '/includes');

// Spätere Verwendung
include INCLUDE_PATH . '/header.php';

Diese Techniken helfen Ihnen, häufige Fehler beim Eingefügen von Dateien zu vermeiden und Ihre Webseite sicher und zuverlässig zu gestalten. Nutzen Sie sie, um Probleme proaktiv zu lösen und Ihre Webprojekte erfolgreich umzusetzen.

 

Wartung und Management von eingebundenen Dateien

Die Wartung und das Management von inkludierten Dateien in PHP sind wesentlich, um Ihre Webseite aktuell und funktional zu halten. Das Verwalten dieser Dateien erfordert ein systematisches Vorgehen, besonders wenn Ihre Webseite wächst und sich entwickelt.

Aktualisieren von eingebundenen Dateien:
Aktualisieren Sie regelmäßig Ihre inkludierten Dateien wie CSS oder HTML-Dokumente. Das stellt sicher, dass Ihre Webseite modern bleibt und neue Webstandards erfüllt. Zum Beispiel, wenn Sie ein neues Design-Element einführen wollen, aktualisieren Sie die CSS-Datei und binden diese dann in Ihre PHP-Seiten ein.

Beispiel für das Aktualisieren einer CSS-Datei:
Nehmen wir an, Sie möchten die Farbe der Überschriften auf Ihrer Webseite ändern. Sie öffnen Ihre CSS-Datei und fügen folgenden Code hinzu:

h1 {
    color: blue;
}

Speichern Sie die Datei und binden den HTML Code in Ihre PHP-Seiten ein:

<link rel="stylesheet" type="text/css" href="styles.css">

Mit dieser Änderung haben alle Überschriften auf den Seiten, die diese CSS-Datei einarbeiten, nun die Farbe Blau.

Verwalten von Pfaden:
Ein korrekter Dokument-Pfad ist entscheidend für das reibungslose Einfügen von Dateien. Verwenden Sie relative oder absolute Pfade, um sicherzustellen, dass PHP die Dateien korrekt findet. Bei vielen Seiten ist es ratsam, einen zentralen Ordner für alle integrierten Dateien zu nutzen.

Beispiel für Pfadverwaltung:
Wenn Sie eine Datei config.php haben, die wichtige Konfigurationen enthält, stellen Sie sicher, dass der Datei-Pfad richtig gesetzt ist. Wenn die Datei im Ordner config liegt, könnten Sie folgenden PHP-Befehl verwenden:

require_once($_SERVER['DOCUMENT_ROOT'] . '/config/config.php');

Dieser Befehl bindet die config.php sicher ein, unabhängig davon, von welchem Skript er aufgerufen wird.

Wiederkehrende Elemente einfügen:
Um Ihre Webseite konsistent und leicht zu verwalten zu machen, verwenden Sie wiederkehrende Elemente wie Webseitenkopf, Webseitenfuß oder Menüs. Diese Elemente in separate Dateien auszulagern und sie auf verschiedenen Seiten einzubetten, macht Updates einfach und schnell.

Beispiel für das Einfügen eines Headers:
Erstellen Sie eine Datei header.php, die den oberen Teil Ihrer Webseite enthält. Um diesen Seitenkopf in Ihrer Hauptseite index.php zu verwenden, schreiben Sie:

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

Jedes Mal, wenn Sie den Seitenkopf aktualisieren, wird die Änderung auf allen Seiten sichtbar, wo Sie die header.php eingebaut haben.

Häufige Fehler vermeiden:
Stellen Sie sicher, dass alle Dateien auf Ihrer Webseite vorhanden sind. Fehlende Dateien können zu Fehlern führen, die die Funktionalität Ihrer Seite beeinträchtigen. Prüfen Sie die Pfade und die Verfügbarkeit der Dateien regelmäßig.

Performance und Best Practices

Die Verwendung von include kann Auswirkungen auf die Performance Ihrer Website haben. Hier einige Best Practices:

  • Zwischenspeicherung (Caching): Bei komplexen Websites mit vielen includes sollten Sie Caching-Mechanismen wie OPCache verwenden, um die Leistung zu verbessern.
  • Vermeiden Sie unnötige includes: Binden Sie nur die Dateien ein, die tatsächlich benötigt werden. Zu viele includes können die Ladezeit verlängern.
  • Verwenden Sie include_once/require_once mit Bedacht: Diese Funktionen prüfen, ob die Datei bereits eingebunden wurde, was bei vielen Dateien zu Leistungseinbußen führen kann.
  • Autoloading statt manuellem Einbinden: Für komplexe Anwendungen und Klassen verwenden Sie PSR-4-konformes Autoloading anstelle von manuellen includes.

Beispiel für einen einfachen Autoloader:

<?php
spl_autoload_register(function ($class_name) {
    // Wandelt Namespaces in Verzeichnispfade um
    $class_file = str_replace('\\', '/', $class_name) . '.php';
    $file = __DIR__ . '/classes/' . $class_file;

    if (file_exists($file)) {
        require_once $file;
        return true;
    }
    return false;
});

/* Jetzt kann die Klasse direkt verwendet werden, ohne sie explizit einzubinden */
$myObject = new App\Models\User();
?>

Durch diese Praktiken stellen Sie sicher, dass Ihre Webseite effizient verwaltet wird und Sie schnell auf Änderungen reagieren können. Dies spart Zeit und verhindert Probleme, die beim Betrieb Ihrer Website auftreten könnten.

Komplettes Beispiel: Modularisierung einer Website mit Include

Um die Vorteile der Modularisierung mit Include besser zu verstehen, betrachten wir ein praktisches Beispiel einer modularen Website-Struktur:

Projektstruktur:

website/
├── index.php
├── kontakt.php
├── produkte.php
├── includes/
│   ├── config.php
│   ├── functions.php
│   ├── header.php
│   ├── footer.php
│   ├── navigation.php
│   └── sidebar.php
└── assets/
    ├── css/
    ├── js/
    └── images/

config.php: Enthält die grundlegenden Einstellungen

<?php
// Datenbank-Konfiguration
define('DB_HOST', 'localhost');
define('DB_USER', 'username');
define('DB_PASS', 'password');
define('DB_NAME', 'dbname');

// Website-Informationen
define('SITE_TITLE', 'Meine Webseite');
define('SITE_URL', 'https://www.meine-webseite.de');

// Pfad-Konfigurationen
define('ROOT_PATH', dirname(__DIR__));
define('INCLUDES_PATH', ROOT_PATH . '/includes');
define('ASSETS_PATH', ROOT_PATH . '/assets');
?>

index.php: Die Hauptseite, die die modularen Komponenten einbindet

<?php
// Konfiguration einbinden
require_once 'includes/config.php';
require_once 'includes/functions.php';

// Seitentitel für dieses Dokument
$page_title = 'Startseite';
$meta_description = 'Willkommen auf unserer Webseite!';

/* Header einbinden (enthält den Beginn des HTML-Dokuments) */
include 'includes/header.php';

// Navigation einbinden
include 'includes/navigation.php';
?>

<main class="content">
    <section class="main-content">
        <h1>Willkommen auf unserer Webseite</h1>
        <p>Dies ist der Hauptinhalt der Startseite.</p>
    </section>

    <?php include 'includes/sidebar.php'; ?>
</main>

<?php
/* Footer einbinden (enthält das Ende des HTML-Dokuments) */
include 'includes/footer.php';
?>

Dieses Beispiel zeigt, wie Sie mit includes eine übersichtliche, wartbare Website-Struktur aufbauen können. Jede Komponente ist in eine separate Datei ausgelagert, was die Entwicklung und Aktualisierung deutlich vereinfacht.

Zusammenfassung: Include in PHP

Das Einbinden von Dateien mit PHP ist ein wesentlicher Bestandteil der Webentwicklung und bietet zahlreiche Vorteile:

  • Verbesserte Codeorganisation durch die Aufteilung in logische Module
  • Erhöhte Wartbarkeit, da Änderungen nur an einer Stelle vorgenommen werden müssen
  • Bessere Wiederverwendbarkeit von Code-Komponenten in verschiedenen Projekten
  • Möglichkeit zur Modularisierung von Projekten, wodurch komplexe Anwendungen überschaubarer werden

Vergessen Sie nicht, die wichtigsten Regeln zu beachten:

  1. Verwenden Sie require, wenn die Datei essentiell für Ihre Anwendung ist
  2. Nutzen Sie include, wenn die Anwendung auch ohne die Datei weiter funktionieren kann
  3. Setzen Sie include_once oder require_once ein, wenn Sie sicherstellen müssen, dass eine Datei nur einmal eingebunden wird
  4. Achten Sie auf sichere Pfadangaben und vermeiden Sie dynamische Einbindung von nicht überprüften Dateien
  5. Organisieren Sie Ihre Dateien in einer logischen Struktur, die die Wartung erleichtert

Mit diesem Wissen sind Sie nun bestens gerüstet, um PHP-Dateien effektiv einzubinden und modulare, wartbare Webanwendungen zu entwickeln.




weiter Was ist ein Array?