Teil von  SELFPHP   Teil von  Praxisbuch  Teil von  Sprachelemente und Syntax  Teil von  Integration von PHP
Professional CronJob-Service

Suche

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: SELFPHP Forum ::

Fragen rund um die Themen PHP?
In über 130.000 Beiträgen finden Sie sicher die passende Antwort!  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 
 
Einbindung externer Skripts

SELFPHP ist Shopware Solution Partner
Shopware ist ein vielfach ausgezeichnetes Onlineshop-System der shopware AG, das auf PHP. Zend Framework und SQL basiert.
SELFPHP unterstützt Sie als Shopware Solution Partner bei der Konzeption, Programmierung und Realisierung Ihres Onlineshops und passt Shopware bei Bedarf an Ihre Unternehmensbedürfnisse an. Weitere Informationen



Include

Der Befehl include("dateiname"); fügt an dieser Stelle den Inhalt der Datei ’dateiname‘ ein. Dadurch ist es möglich, Quellcode, der in mehreren Dateien benötigt wird, zentral zu halten, sodass Änderungen einfacher durchzuführen sind.

Die Datei, die eingefügt wird, wird als HTML-Code interpretiert. Deshalb muss, wenn in der Datei nur PHP-Code steht, diese Datei mit enden bzw. mit anderen PHP-Code-Markierungen.

Wenn include() in Verbindung mit Bedingungen oder Schleifen eingesetzt wird, muss es immer in geschweiften Klammern geschrieben werden. Der Abschnitt, der sich innerhalb der geschweiften Klammern befindet, wird in der Programmierung auch als Anweisungsblock bezeichnet.

// Falsch
if ( $Bedingung )
include ("Datei.inc");

// Richtig
if ( $Bedingung ) {
include ("Datei.inc");
}


require

Ganz analog zu include() funktioniert require(). Es wird aber von PHP etwas anders behandelt. Der require()-Ausdruck wird beim ersten Aufruf durch die Datei ersetzt. Wie bei include() wird erst einmal aus dem PHP-Modus herausgegangen. Ein wesentlicher Unterschied zu include() stellt die Reaktion auf nicht vorhandene Dateien dar. Während include() lediglich ein »Warning« ausgibt und das PHP-Skript anschließend weiter ausgeführt wird, wird bei require() das laufende PHP-Skript mit einem »Fatal error:« abgebrochen.

// Schreibweisen
require 'funktionen.php';
require $externedaten;
require ('funktionen.txt');


include_once, require_once

Seit PHP 4 gibt es neben den Funktionen include() und require() auch noch die Funktionen include_once() und require_once(). Der Name zeigt schon, wo der Unterschied liegt: Bei den *_once()-Funktionen wird die Datei nur einmal eingefügt, unabhängig davon, wie häufig man versucht sie einzufügen.

Der Sinn ist einfach: Bei umfangreichen Webseiten gibt es häufig eine Datei, die die zentralen Funktionen enthält. Da diese in den Webseiten benötigt werden, fügt man sie immer am Anfang ein. Soweit kein Problem. Sobald aber mehrere zentrale Funktionsdateien existieren, die sich auch untereinander benötigen, wird es schwierig, weil jede nur einmal eingefügt werden darf, um z. B. Probleme mit Wiederholungen bei der Definition von Funktionen und Wertzuweisungen von Variablen zu vermeiden.


Tipps im Umgang mit externen Dateien

Normalerweise können Benutzer den Inhalt der Skripts nicht sehen. Jede Datei mit der Endung .php3, .php4 oder .php wird vom Webserver an den PHP-Interpreter weitergeleitet und von diesem verarbeitet. Es ist natürlich ohne Weiteres möglich, jede andere Endung anzugeben. Oft werden Dateien, die mit include() eingeschlossen werden sollen, mit .inc bezeichnet. Auch diese Endung wird nicht verarbeitet. Das ist für den Ablauf des Skripts egal – die Verarbeitung erfolgt im Rahmen des »umgebenden« Skripts und damit unter dessen Regie.

Was jedoch nicht egal sein dürfte, ist das damit aufkommende Sicherheitsproblem. Sollte ein Benutzer den Pfad zu den Include-Dateien herausbekommen, kann er deren Namen in der Adresszeile des Browsers direkt eingeben. Der Webserver wird die Endung nicht kennen und dem Browser die Datei direkt zusenden. Dieser erkennt ein einfaches Textdokument und stellt es dar. Da in Include-Dateien auch Kennwörter für Datenbanken stehen können, wäre dies äußerst problematisch.

Dieses Problem kann man jedoch recht schnell beseitigen. Benennen Sie sämtliche Include-Dateien in .inc.php um. So haben Sie eine eindeutige Kennzeichnung und erzwingen im Notfall das Parsen des Codes durch den PHP-Interpreter. Das mag zwar zu einer Fehlermeldung führen, sollte diese Datei einzeln aufgerufen werden, an den Inhalt gelangt der Benutzer dennoch nicht.



Notationshinweise
 




:: Premium-Partner ::

Webhosting/Serverlösungen

Pixel X weitere Premium-Partner
 

:: SELFPHP Sponsor ::

Kaspersky Labs GmbH weitere Sponsoren
 


:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Webhosting/Serverlösungen

Suchen Sie den für Sie passenden IT-Dienstleister für Ihr Webhosting-Paket oder Ihre Serverlösung?

Sie sind nur ein paar Klicks davon entfernt!


 

Ausgewählter Tipp im Bereich PHP-Skripte


Datei in mehrere Dateien aufsplitten

Weitere interessante Beispiele aus dem SELFPHP Kochbuch finden Sie im Bereich PHP-Skripte
 

SELFPHP Code Snippet


Den aktuellen Monat in Kalenderform darstellen

Weitere interessante Code Snippets finden Sie auf SELFPHP im Bereich PHP Code Snippets
 
© 2001-2024 E-Mail SELFPHP Inh. Damir Enseleit, info@selfphp.deImpressumKontakt
© 2005-2024 E-Mail PHP5 Praxisbuch - Matthias Kannengiesser, m.kannengiesser@selfphp.de