|
Das Buch learninPHP wurde uns freundlicherweise vom Autor Marvin Momberg zur
Verfügung gestellt. Sie haben die Möglichkeit, sich das Buch auf der
Homepage des Autors herunterzuladen.
PHP-Finder ist eines der wenigen Portale, das dieses Buch präsentiert.
Das Buch wird hier nur in Auszügen präsentiert.
|
Kapitel 3: Themengebiete | Dateien als Datenbank | In diesem Unterkapitel möchte ich ihnen Dateien als Datenbanken näher bringen. Sie haben sicher schon versucht sich ein X-beliebiges Script runterzuladen, aber merken immer wieder das ihr Server Mysql für das Script braucht. Und wenn ihr Server kein Mysql besitzt werden, sie sich auf jeden Fall geärgert das es nicht viele gute Scripts gibt, die Dateien als Datenbank nutzen. Sie können anstatt mit Datenbanken zu arbeiten einfach Dateien erstellen, auf die andere keinen Zugriff haben. In diesem Zusammenhang ist die Funktion die() wichtig. die() lässt ein Script "sterben" es wird nicht weiter ausgeführt. Komplettes Beispiel:
<?php die("Zugriff verweigert!"); print "Geheim!"; ?>
Wenn sie dieses Script im Browser aufrufen werden sie "Zugriff verweigert!" lesen. die() lässt die Scriptausführung sofort abbrechen, ausserdem kann man an die() eine Zeichenkette übergeben, diese Zeichenkette wird an den Browser weitergegeben. Nehmen wir an sie wollten die Computernamen ihrer Besucher speichern. Um die Hostnamen zu erfahren benutzen sie die Umgebungsvariable $REMOTE_HOST. Die Hostnamen wollen wir in einer Datei, hosts.php, speichern. Da sie nicht wissen wie man den Inhalt <?php die("gesperrt."); ?> in eine Datei schreibt, erstellen sie erst eine Datei. Sie erstellen die Datei hosts.php und schreiben manuell folgendes in die Datei: . Komplettes Beispiel(get_host.php):
<?php $datei = fopen("hosts.php", "a"); fputs($datei, "$REMOTE_HOST|"); fclose($datei); ?>
Dieses Script öffnet die Dati hosts.php und hängt an den schon vorhandenen Inhalt den Hostnamen des Nutzers und das Zeichen | an. Das | Zeichen ist der Seperator. Um zu wissen wo ein Hostname zu Ende ist und der nächste beginnt, benötigen sie einen Seperator. Der Seperator ist frei wählbar, benutzen sie aber möglichst ein Zeichen, das sonst nicht häufig verwendet wird, sonst kann es zu Fehlern beim lesen geben. So, jetzt haben sie das Script zum bekommen der Hostnamen. Jetzt brauchen sie aber noch ein Script das den Inhalt der Datei-Datenbank hosts.php benutzerfreundlich ausgibt. Komplettes Beispiel(list_hosts.php):
<?php $datei = fopen("hosts.php", "r"); $inhalt = fgetss($datei, 99999); fclose($datei); $inhalt_geteilt = explode("|", $inhalt); foreach($inhalt_geteilt as $host) { if($host == "") continue; print "Hostname: $host<br>"; } ?>
Die Funktion explode() ist neu für sie. explode() teilt eine Zeichenkette und gibt einen Array zurück. explode() braucht als erstes Argument ein Zeichen nach dem die Zeichenkette getrennt werden soll. Wir hatten als Seperator das | Zeichen gewählt also geben wir es als erstes Argument an. explode() braucht als zweites Argument eine Zeichenkette die getrennt werden soll. Wir haben an dieser Stelle den Inhalt der Datei angegeben. In diesem Script wurde fgetss() verwendet. Es wurde nur eine Zeile gelesen, aber hier können wir sicher sein das es in der Datei nur eine Zeile gibt, weil wir die Datei selbst erstellt haben. Sonst verwenden sie fread() oder fgets()/fgetss() nur in Verbindung mit einer while-Schleife und feof(). Durch die Verwendung von fgetss() wurde der PHP-Code am Anfang der Datei entfernt. Mit der if-Anweisung überprüfen wir ob die Variable $hosts keinen Inhalt hat, in diesem Fall wird der Schleifendurchgang übersprungen, die nächste Ausführung folgt.
Hier sehen sie eine Beispielsausgabe von list_hosts.php.

Bedenken sie das nicht immer eine Hostangabe zur Verfügung haben. Benutzen sie zur Erfassung von Adressen lieder $REMOTE_ADDR, die IP Adresse. Wenn der Hostname nich zur Verfügung steht, wird die IP Adresse als $REMOTE_HOST ausgegeben. In der Beispielsausgabe sehen sie so einen Fall in dem Hostname durch die IP Adresse ersetzt wurde. | |
|
|
1 PHPhotoalbum DEUTSCH PHPhotoalbum mit automatischer Thumbnailerstellung, Statistiken, verschiedene Alben können angelegt [hits: 7840]
2 Photo Album System - updated! Komplexes Photo Album Sytem.
- mehrere Alben durch einfaches hinzufügen möglich (2 Zeilen)
- Aut [hits: 5506, downloads: 4024]
3 planetGalery Mit :: planetGalery :: haben Sie die Möglichkeit, schnell und einfach Bildergalerien auf Ihrer Inter [hits: 5428]
4 Ad Promotion Netzwerk Script Betreiben Sie Ihr eigenes >>>kostenloses<<< Promotion Netzwerk.
Banner Exchange, Popup Exchange ( [hits: 4870, downloads: 2443]
5 Ad Banner Exchange Script + Partner Programm + Ad Vermarktung Betreiben Sie Ihren eigenen Banner Exchange mit zusätzlicher Ad Funktion zur Vermarktung an Sponsore [hits: 3518, downloads: 3955]
Die Scripts sind nach Hits sortiert
|
1 PHP-Edit Kleiner Editor zum erstellen von PHP-Scripts. Außerdem gibt es die Funktion zum schnellen einfügen v [hits: 3592, downloads: 7204]
2 PHP-Triad Das Projekt "PHP Triad" hat sich all denen gewidmed, denen die Konfiguration eines Apache mit PHP un [hits: 2306, downloads: 5927]
3 Wampp / Lampp LAMPP (Linux + apache + mysql + php + perl) + WAMPP (windows + apache + mysql + php + perl) = XAMPP
[hits: 1917, downloads: 3164]
4 >e-novative> WAMP Kostenloser Installer für Apache, MySql und PHP unter Windows. Vollautomatische Installation und Kon [hits: 1606, downloads: 1542]
5 VBMyAdmin VBMyAdmin - Intranet & Internet Lösungen. Mit VBMyAdmin erstellen und verwalten Sie Ihre eigenen Dat [hits: 1530, downloads: 1453]
Die Downloads sind nach Hits sortiert
|
|