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
 ICQ Generator
 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
 
 

include in Php

Sie befinden sich: Home > Php > include in Php

Die grundlegende Aufgabe eines include(); in PHP lässt sich als das Einbinden von Quellcode beschreiben. Beim Aufruf dieser Funktion geschieht nichts anderes, als das der im Funktionsaufruf angeführte Dateiname, bzw. deren Inhalt in die aufrufende Ursprungsdatei eingebunden wird.

Das klingt zunächst ungewöhnlich da der Quellcode der includierten Datei theoretisch auch neu geschrieben werden könnte, erleichtert aber die Arbeit, wenn zum Beispiel ein anderes Script den Inhalt der Datei sessionspezifisch ändert. Dies kann vorkommen, wenn man für unterschiedliche User unterschiedliche PHP - Scripts verwenden möchte oder sogar muss.

Eine andere Anwendungsart ist dann von Nutzen, wenn komplette fremde Dateisegmente verwendet werden sollen, die ggf. direkt von einem Server geholt werden sollen. Durch die include(); Funktion ist es möglich große Projekte in Module zu unterteilen, die dann von verschiedenen Personen zeitgleich bearbeitet werden können, und denen lediglich die Schnittstellen der Module bekannt sein müssen, nicht jedoch der komplette Quellcode.

Inhalt von der Datei vars.php

1 <?php
2 $farbe
= "grün";
3
$frucht = "apfel";
4
?>

Inhalt von der Datei test.php

1 <?php
2
echo "Ein $farbe $frucht"; // Ausgabe "Ein"
3
4 // Bildlich gesprochen steht jetzt
5 // an dieser Stelle der Inhalt der Datei vars.php
6
7
include "vars.php";
8 echo
"Ein $farbe $frucht"; // Ausgabe "Ein grüner apfel"
9
?>

Es ist extrem wichtig die Einstellungen des sogenannten "Include Pfades" zu kennen, da PHP zunächst die Datei, welche wie im ersten Beispiel angegeben, im include(); angegeben ist, im Arbeitsverzeichnes des Scriptes suchen wird, danach erst im PHP - Heimverzeichnis.

PHP erlaubt es innerhalb der Funktion include(); Pfade sowie IP Adressen anzugeben. Wichtig ist das der Pfad local dann immer vom Stammverzeichnis aus ausgehend angegeben werden sollte. Ein weiterer wichtiger Punkt der überprüft werden muss, besteht in der Tatsache das bei einem Parser Fehler in der includierten Datei das aufrufende Script keinen Fehler ausgeben wird, und auch nicht abgebrochen wird, selbst wenn es ein sogenannter FATAL_ERROR ist.

Sollte ein Php Fehler bei der Verwendung von include(); vorkommen, kann man mit der PHP Funktion file_exists() prüfen, ob die inkludierte Datei wirklich vorhanden ist. Dadurch kann man sicherstellen, dass man mit include() kein Php Fehler generiert.

Sicherheits Hinweis: Sollten Sie im Pfad zu der Datei oder im Dateiname eine Variable verwenden, sollten Sie immer mit file_exists() überprüfen ob die Datei existiert. Zusätzlich sollte immer ein absoluter Pfad angegeben werden, damit keine HTTP Adresse eingeschleust werden kann.

Noch wichtiger ist die Deklaration der in der includierten Datei verwendeten Variablen. Folgendes Beispiel verdeutlicht dies im Zusammenhang mit der Deklaration einer Funktion.

1 <?php
2
function eins(){
3 global
$farbe;
4 include
"vars.php";
5 echo
"Ein $farbe $frucht";
6 }
7
/* vars.php wird innerhalb der Funktion eins aufgerufen *
8 * $frucht ist definitiv nicht außerhalb von eins verfügbar *
9 * $farbe hingegen ist global verfügbar, da sie explizit als *
10 * "global" deklariert wurde */
11
12
eins(); // Ausgabe "Ein grüner Apfel"
13
echo "Ein $farbe $frucht"; // Ausgabe "Ein grüner "
14
?>

Dieses Beispiel soll nicht dazu verleiten prinzipiell alle Variablen, egal ob innerhalb eines include(); oder nicht, allgemein als "global" zu definieren, soll aber zeigen das hier Fehler lauern können die extrem schwer zu finden sind, da der Fehler selber in einer vollkommen anderen Datei zu suchen ist, und nicht zum Abbruch des Scriptes führen wird.

Um dieses Problem zu umgehen, kann man die fast equivalente Funktion require(); verwenden, die sowohl bei einem Parser-, wie auch FATAL - Error das Script beendet, und eine Fehlermeldung generiert, und diese ausgibt.




weiter Was ist ein Array?