SEO Welten
Buchempfehlungen
|
Einbinden von Dateien mittels PHP, JavaScript und AjaxDateien mir include, requiriere oder readfile einbindenÜbersicht / Seite:
Dateien mit PHP einbindenWie so oft im Leben und nicht minder beim Programmieren einer Anwendung, so gibt es auch beim Einbinden von Dateien die unterschiedlichsten Lösungsansätze und Wege, die nach Rom bzw. zum Erfolg führen. Nachfolgend möchten wir einige der gebräuchlichsten Möglichkeiten kurz vorstellen. Um die Beispiele nachzu- vollziehen, sollte als erstes eine kleine datei.txt mit einem Probetext erstellt werden. Die Textdatei: datei.txt Ich bin die Datei mit der Endung txt und
mein Inhalt dient nur zu Testzwecken. Mein Name spielt keine Rolle, nur meine Dateinamenserweiterung hat
eine wesentliche Bedeutung. Die am häufigsten in PHP-Scripts zum Einbinden verwendete Funktion ist wohl
mit Abstand die Funktion include(), gefolgt von der Funktion require(). Über den Unterschied zwischen den
beiden Funktionen wurde bereits sehr viel geschrieben. Zu diesen Unterschieden gehört, dass die include
Funktion beim Auftreten eines Fehlers nur eine Warnung ausgibt, während die require Funktion eine Fehlermeldung
ausgeben würde, welche die weitere Ausführung der Anwendung abbrechen würde. Weitere Unterschiede bestehen,
wenn include oder require Funktionen innerhalb einer Schleife, eines if-Statemants oder von eigenen Funktionen
zur Anwendungen kommen. Da bisher nicht selbst die unterschiedlichsten Varianten durchgetestet, sollte dieser
Hinweis reichen. Kleines Beispiel: <?php include ("datei.txt"); ?> Nicht ganz einfach ist mitunter nachvollziebar, welche relativen Pfade in
einer Datei angegeben werden müssen, wenn die zu includende Datei in einem anderen Ordner liegt und in diesem
Ordner weitere Dateien, auf welche verwiesen wird. Hier kann wohl verallgemeinernd davon ausgegangen werden,
dass immer die relativen Pfade von der Datei ausschlaggebend sind, in der die Datei includet wird, so als
wäre die includete Datei ein Bestandteil von dieser. <?php
$meine = "datei.txt";
if (file_exists($meine) and strlen($meine) == 9) {require ($meine);
}
else {echo "Die gesuchte Datei ist nicht vorhanden";
}
?>
Größer werden die Sicherheitslücken, wenn es sich um unterschiedliche Dateien handelt, deren Pfade (dirname) und Dateinamen (basename) aus diesem Grund zum Beispiel per GET übergeben werden. Hier erscheint es ratsam, die eigenen Dateinamen in einem Array aufzunehmen und vor jeder Ausgabe erst einmal mit der Funktion in_array() zu kontrollieren, ob die angeforderte Datei in diesem Array enthalten ist. readfile() Die Verwendung der Funktion include() oder der Funktion require() ist jedoch nur dann erforderlich, wenn es sich bei der einzufügenden Datei um eine PHP-Datei handelt. Bei einer statischen HTML- oder TXT-Seite (wie die datei.txt im obigen Beispiel) ist diese Vorgehensweise nicht erforderlich, hier würde sich eher die Funktion readfile() anbieten. Die Schreibweise unterscheidet sich dabei in keiner Weise von den bereits angeführten Beispielen, nur das die Funktion include() gegen die Funktion readfile() ausgetauscht wird. Beispiel mit readfile(): <?php readfile ("datei.txt"); ?> Wie bei den anderen Funktionen, so können und sollten gegebenenfalls auch bei der Verwendung dieser Funktion Sicherheitsabfragen durchgeführt werden. Die Verwendung von readfile() bringt einen entscheidenden Vorteil in Punkto Sicherheit mit sich, der darin begründet liegt, dass die eingebunden Seiten nicht mit geparst, sondern direkt ausgegeben werden. Die Einschleusung und Ausführung von PHP-Schadcode ist somit nicht ohne Weiteres möglich. file_get_contents() Neben den bisher erwähnten Funktionen und Beispielen bietet PHP noch eine Reihe weitere Funktionen und Möglichkeiten, die sich zum Einbinden von Dateien eignen. Unter anderen liest die Funktion file_get_contents() eine Datei komplett in einen String, der dann weiterverarbeitet oder mit echo oder print direkt ausgegeben werden kann. Beispiel mit file_get_contents(): <?php Der Einsatz von file_get_contents() empfiehlt sich dann zur Einbindung und Ausgabe von Dateien, wenn es die Aufgabenstellung verlangt, zum Beispiel um einen String zu bearbeiten. Im folgenden Beispiel wird mit Hilfe der Funktion str-replace(), welche nach allen Vorkommen eines Teilstrings in einem anderen String sucht und diese ersetzt, nach der Zeichenkette "zu Testzwecken" im String der obigen datei.txt gesucht und diese Zeichenkette durch die Zeichenkette "zum Testen der Funktion" ersetzt. Beispiel mit file_get_contents() und str_replace(): <?php Die vorhandene datei.txt würde nun mit folgendem Wortlaut ausgegeben: Ich bin die Datei mit der Endung txt und mein Inhalt dient nur zum Testen der Funktion. Mein Name spielt........ weiterlesen » Weitere Möglichkeiten, 3, 4, 5 |
Navigation
Finden und - Optimierung -
Webcoding
Übersicht Web Services Tutorials &
und vieles mehr...
Weitere Themen
Übersicht |