include/gb/einlesen.php
include/gb/einlesen.php
include/gb/einlesen.php
include/gb/einlesen.php
include/gb/einlesen.php
Die Einträge, die ins Gästebuch gemacht wurden, sind in der
Datei gb-daten.dat
gespeichert.
Die Einträge sollen in der vorliegenden Website in dieser Anleitung und im Gästebuch angezeigt werden.
Im Gästebuch und in der vorliegenden Anleitung ist ein PHP-Befehl,
mit dem der Inhalt der Include-Datei include/gb/einlesen.php
eingefügt wird.
In der Include-Datei include/gb/einlesen.php
sind die
PHP-Befehle geschrieben, mit denen die Einträge aus der
Datenbankdatei gb-daten.dat
eingelesen werden.
Die PHP-Befehle werden vom Server in diesen Dokumenten ausgeführt (geparst), bevor diese an den Browser des Anwenders geschickt werden.
include/gb/einlesen.php
PHP-Befehle:
Code: <?php
?>
<?php .... ?>
include/gb/einlesen.php
Code: include "../../include/gb/einlesen.php";
Dieser Befehl ist in der vorliegenden Anleitung und im Gästebuch.
Mit diesem Befehl wird die Include-Datei
include/gb/einlesen.php
eingelesen.
<?php include "../../include/gb/einlesen.php"; ?>
include/gb/einlesen.php
Befehl: $datenbank = "../../gaestebuch/gb-daten.dat";
$datenbank =
Das ist die neue Variable.
= "../../gaestebuch/gb-daten.dat";
Dies ist die Datenbank mit den
Einträgen.
$datenbank = "../../gaestebuch/gb-daten.dat";
Code: fopen("Dateiname","Modus")
Öffnet eine Datei oder URL
Die Funktion fopen öffnet eine Datei zum Schreiben und/oder Lesen und gibt ein Dateihandle zurück.
Die Datei kann auch auf einem anderen Server liegen, in diesem Fall muss statt dem blossen Dateinamen eine komplette URL angegeben werden. Da keine HTTP-Redirects (Weiterleitungen) unterstüzt werden, muss eine URL ggf. mit abschliessendem "/" geschrieben werden.
Nachdem die Datei bearbeitet wurde, sollte das Dateihandle mit der Funktion fclose wieder geschlossen werden, damit andere Prozesse auf die Datei zugreifen können.
Modus:
Der Parameter "Modus" bestimmt, für welche Form des Zugriffs die Datei geöffnet wird. Dabei sind folgende Modi möglich:
r
Datei wird nur zum Lesen geöffnet,
der Dateizeiger wird auf den Anfang der Datei gesetzt.
r+
Datei wird zum Lesen und Schreiben geöffnet,
der Dateizeiger wird auf den Anfang der Datei gesetzt.
w
Datei wird nur zum Schreiben geöffnet,
der Dateizeiger wird auf den Anfang der Datei gesetzt.
Sofern die Datei bereits besteht, wird die
Grösse auf 0 Bytes gesetzt
(d.h. ein eventueller Inhalt wird überschrieben).
Sofern die Datei nicht existiert, wird diese neu angelegt.
w+
Datei wird zum Lesen und Schreiben geöffnet,
der Dateizeiger wird auf den Anfang der Datei gesetzt.
Sofern die Datei bereits besteht, wird die
Grösse auf 0 Bytes gesetzt (d.h. ein eventueller
Inhalt wird überschrieben).
Sofern die Datei nicht existiert, wird diese neu angelegt.
a
Datei wird nur zum Schreiben geöffnet, der Dateizeiger wird an
das Ende der Datei gesetzt (d.h der Inhalt wird nicht überschrieben,
sondern neuer Inhalt am Dateiende hinzugefügt). Sofern die Datei
nicht existiert, wird diese neu angelegt.
a+
Datei wird zum Lesen und Schreiben geöffnet, der Dateizeiger
wird an das Ende der Datei gesetzt (d.h der Inhalt wird nicht
überschrieben, sondern neuer Inhalt am Dateiende hinzugefügt).
Sofern die Datei nicht existiert, wird diese neu angelegt.
Befehl: $gb_datei = fopen($datenbank,"r");
Die Datenbank wird geöffnet und gleichzeitig wird angegeben wohin die Daten geschrieben werden sollen.
$gb_datei
Dies ist der ausgegebene "Dateihandle", das heisst
die Variable, in die der Inhalt der Datenbank geschrieben wird..
fopen($datenbank,"r")
Mit diesem Code wird die Datenbank
geöffnet.
r+
Datei wird zum Lesen und Schreiben geöffnet, der
Dateizeiger wird auf den Anfang der Datei gesetzt.
$gb_datei = fopen($datenbank,"r");
Grundlagen und Workshops
Code: fpassthru("Datei-Handle")
Daten einlesen.
Die Funktion fpassthru liest die Datei, auf die das "Datei-Handle" zeigt und gibt alle Daten ab der Position des Dateizeigers bis zum Dateiende direkt an den Browser aus.
Anders als bei der Funktion readfile kann also auch nur ein Teil der Datei ausgegeben werden. Das Dateihandle muss zuvor mit fopen erstellt worden sein. Der Dateizeiger lässt sich mit fseek, ftell und rewind manipulieren.
Befehl: fpassthru($gb_datei);
Daten einlesen.
fpassthru($gb_datei);
Die Funktion liest alle Daten von der
aktuellen Position des Dateizeigers
$gb_datei
Der Ausdruck in der Klammer wird als Datenzeiger oder
als "Datei-Handle" bezeichnet.
Das Dateihandle $gb_datei
muss zuvor mit
fopen
geöffnet worden sein.
fpassthru($gb_datei);
Grundlagen und Workshops
Code: fclose("Datei-Handle")
Schliesst eine offene Datei.
Die Funktion fclose schliesst eine zuvor mit fopen, popen oder fsockopen geöffnete Datei auf die das Dateihandle "Datei-Handle" zeigt.
Dies ist notwendig, damit andere Prozesse auf die Datei zugreifen können.
Im Erfolgsfall wird TRUE (bzw. 1) zurückgegeben, ansonsten FALSE (bzw. 0).
Befehl: fclose($gb_datei);
fclose
Mit diesem Befehl wird das Datei-Handle geschlossen.
(gb_datei)
Dieser Ausdruck in Klammern wird als Datei-Handle
bezeichnet.
In unserem Fall wird die Datei gb-datei.dat
geschlossen.
fclose($gb_datei);
Grundlagen und Workshops
include/gb/einlesen.php
<?php $datenbank = "../../gaestebuch/gb-daten.dat"; $gb_datei = fopen($datenbank,"r"); fpassthru($gb_datei); fclose($gb_datei); ?>↑