Gästebuch auslesen
Zirp
- php
0 Wizard0 Thomas Schmieder0 Lukas
Hi
wie kann ich aus einem normalen Gästebuch das die einträge als txt (dat)datei speichert so einstellen das die neusten einträge als erstes ausgelesen werden
<?
$datenbank = "daten.dat";
$datei = fopen($datenbank,"r");
fpassthru($datei);
?>
mein php befehl zum auslesen
Zirp
Moin Zirp,
wie kann ich aus einem normalen Gästebuch das die einträge als txt (dat)datei speichert so einstellen das die neusten einträge als erstes ausgelesen werden
Versuche das mal
$fp = fopen('gaestebuch.txt', 'r');
$input .= "$text\n ";
while (!feof($fp)) {
$input .= fgets($fp, 512);
}
fclose($fp);
$fp = fopen('gaestebuch.txt', 'w+');
fputs($fp, $input, strlen($input));
fclose($fp);
regds
Wiz
Hallo Zirp,
wie kann ich aus einem normalen Gästebuch das die einträge als txt (dat)datei speichert so einstellen das die neusten einträge als erstes ausgelesen werden
<?
$datenbank = "daten.dat";
$datei = fopen($datenbank,"r");
fpassthru($datei);
?>
Ohne die Angabe über das Datenmodell Deiner Textdatei kann man da keine vernünftige Aussage treffen.
Wenn Du allerdings dafür gesorgt hast, dass in jedem Datensatz der Textdatei nur ein LF (als Satzendezeichen) drinsteht, dann gibts in PHP ne ganz elegante Möglichkeit.
Nun bist Du erst mal wieder dran...
Grüße
Tom
Hi
wie kann ich aus einem normalen Gästebuch das die einträge als txt (dat)datei speichert so einstellen das die neusten einträge als erstes ausgelesen werden
ähem.. ich will ja nicht irgenwie schlau sein, ich kann php auch erst seit kurzem.. aber .. wie wärs wenn du beim schreiben, die gästebucheinträge nicht hinten an die datei anhängst, sondern ... VORNE... das heist, du machst das schon beim schreiben der einträge ???
Hallo,
ähem.. ich will ja nicht irgenwie schlau sein, ich kann php auch erst seit kurzem.. aber .. wie wärs wenn du beim schreiben, die gästebucheinträge nicht hinten an die datei anhängst, sondern ... VORNE... das heist, du machst das schon beim schreiben der einträge ???
An Dateien kann man bei der heute üblichen Technik nur hinten etwas anhängen. Wenn man vorne etwas davor setzen will, muss man die Datei einlesen, im Arbeitsspeicher etwas "davorhängen" und dann den gesamten Block zurückschreiben, also die alte Datei überschreiben.
Deshalb hatte ich ja nach dem Datenmodell für die Textdatei gefragt. Sind zum Bsp. in den Gästebucheinträgen Zeilenumbrüche erlaubt? Dann müsste man die ersetzen gegen ein anderes Zeichen. Also \r\n bzw \n austauschen gegen z.B. "<br>". Am Ende des Eintrags muss das \n bzw das \r\n aber erhalten bleiben!
Dann kann man diesen Gästebucheintrag einfach an die Datei anhängen.
Um sie später anzuzeigen, liest man die gesamte Datei mit $guestbook = file("datei") in ein Array ein. Dieses Array kann man dann mit $umgekehrt = array_reverse($guestbook); umdrehen. das letzte Element steht jetzt vorne. Dann kann man es mittels einer Ausgabefunktiion (zum bunt machen, Kästen malen, Formatieren, etc.) und array_walk() bequem ausgeben.
Das sollte als Hinweis, wie's geht, genügen.
Bei Fragen: Posting
Grüße aus http://www.braunschweig.de
Tom