Peppy: gibt es eine zeichenbegrenzung für das auslesen einer datei?

ich möchte eine textdatei oder eine beliebige datei auslesen, um ihr eventuell noch etwas inhalt anzuhängen.
und zwar will ich ein gästebuch schreiben, bei dem die neueste nachricht oben steht.
am einfachsten geht es meiner meinung nach, wenn ich die bestehende datei auslese und ihr obendran noch etwas anhänge.
das mache ich so :

$datenbank = "daten.dat";
$datei = fopen($datenbank,"r");
$in = fread($datei,999999);
$daten = "$inhalt<br>$in" ;  // $inhalt ist der neue eintrag
$datei = fopen("daten.dat","w"); fclose($datei);
$datei = fopen($datenbank,"a");
fwrite($datei, $daten);

ich weiss, dass es nicht elegant ist.........

gibt es hierfür "$in = fread($datei,999999);" eine andere möglichkeit?
kann man die datei komplett einlesen?

danke........

  1. Hallo Peppy (gewoehnt euch doch bitte, bitte mal Anreden an...),

    gibt es hierfür "$in = fread($datei,999999);" eine andere möglichkeit?

    Ja, die gibt es. mit file() kannst Du die gesamte Datei zeilenweise in einen Array einlesen (siehe http://www.php.net/manual/en/function.file.php).

    Ob es dabei eine Groessenbeschraenkung gibt, weiss ich nicht, kann ich mir aber nicht vorstellen...

    Beste Gruesse

    Jan

    1. Hallo,

      gibt es hierfür "$in = fread($datei,999999);" eine andere möglichkeit?

      Ja, die gibt es. mit file() kannst Du die gesamte Datei zeilenweise in einen Array einlesen (siehe http://www.php.net/manual/en/function.file.php).

      Wenn der Inhalt unbedingt in einer Variable stehen muss (obwohl ich den Array auch sympathischer finde, aber hier ist ersteres wohl einfacher) würde ich aber nicht gerade "999999" als Größe sondern "filesize ($datenbank)" (http://www.php.net/manual/en/function.filesize.php) nehmen:
      $in = fread($datei,filesize($datenbank));

      Christian Seiler

      1. Moin,

        $in = fread($datei,filesize($datenbank));

        Und noch kürzer ist
        $in = implode("",file($datei));

        --
        Henryk Plötz
        Grüße aus Berlin