Stephan: Ordnen von Beiträgen eines Blogs in txt Datei

Hi,
ich bin zwar schon recht fit in sachen html aber in php ein anfänger und nun habe ich folgendes problem:

ich habe mir eine ganz einfache art blog gebastelt:

zum posten ein formular und diese php datei zum abspeichern der daten in einer *.txt datei:

<?php
$name=$_POST['Name'];
$datum=$_POST['Datum'];
$betreff=$_POST['Betreff'];
$text=$_POST['Text'];
$ausgabe="<b>Autor: </b>" . $name . "\n" . "<b>Betreff: </b>" . $betreff . "\n"  . $text . "\n" . $datum . "\n". "<hr>";
$datei=fopen("blog.txt","a");
$output=fwrite($datei,$ausgabe);
fclose($datei);
echo "Erfolgreich gesendet!"
?>

um das ganze dann auf meiner site anzugeigen wieder ein kleines script:

<?
$datei="blog.txt"; // >> ÄNDERN!

$dateizeiger=fopen($datei,"r");
while(!feof($dateizeiger))
{
echo fgets($dateizeiger)."<br>";
}
fclose($dateizeiger);
?>

nun ist es ja so, dass der als erstes getätigte beitrag auch ganz oben erscheint. ich hätte es aber lieber so, dass der neueste ganz oben ist.
meine überlegung war eine variable mit abzuspeichern, nach der ich dann ordnen kann, aber das klappt nicht so recht...

  1. Hello,

    mit vievielen Datensätze mit welchem Datanaufkommen gesamt rechnest Du denn?

    Du könntest das Konzept umstellen, und mit einem serialisierten Array arbeiten zur Datenspeicherung. Dann hättest Du nach dem Holen der Daten wieder direkten Zugriff auf jeden Satz und könnstest auch etwas hinzufügen, die Sätze anders sortieren usw.

    Aber dazu müsste das Array vollständig in den Arbeitsspeicher passen.
    Ab 500.000kByte bis 1MByte Dateigröße wird es dann unhandlich.

    Dein Konzept hat auch noch andere gravierende Fehler (Locking fehlt).
    Das kann dann gleich mit geändert werden :-)

    Ein harzliches Glückauf

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
    1. ich habe das dumme gefühl, also wenn ich jetzt mal nur so überschlage, und der blog für ca. 1 bis 3 jahre bestehen soll, werden so 500 bis maximal 1000 posts kommen. womit man dann über 1mb wäre, aber es gäbe ja auch die möglichkeit daten irgendwann auszulagern.

      so zum thema klappt nicht:
      ich bin ein anfänger, und datenbanken sind dann doch etwas fortgeschritten. aber gut, dann werde ich mich in das thema einlesen, ich hab ja zum glück die bücher, und werds dann so machen.

      danke

  2. Hi,

    nun ist es ja so, dass der als erstes getätigte beitrag auch ganz oben erscheint. ich hätte es aber lieber so, dass der neueste ganz oben ist.

    was Tom Dir eigentlich sagen wollte: Dein Problem ist ein typischer Fall für eine Datenbank. Gibt es Gründe, warum Du keine einsetzt?

    meine überlegung war eine variable mit abzuspeichern, nach der ich dann ordnen kann, aber das klappt nicht so recht...

    Das einzige, was nicht klappt, ist "klappt nicht". Wie lautet die Problembeschreibung?

    Cheatah

    --
    X-Self-Code: sh:( fo:} ch:~ rl:° br:> n4:& ie:% mo:) va:) de:] zu:) fl:{ ss:) ls:~ js:|
    X-Self-Code-Url: http://emmanuel.dammerer.at/selfcode.html
    X-Will-Answer-Email: No
    X-Please-Search-Archive-First: Absolutely Yes