Sabine G.: Cursor an bestimmte Stelle in einem Textfile

Hallo,

ich habe ein kleines Gästebuch entwickelt. --> CGI/Perl
Hier werden die Daten direkt in der Html Seite gespeichert. Allerdings werden die neusten Datensätze immer hinten rann gehängt.
Möchte aber gerne, das sie immer an erster stellen stehen.

Gibt es die möglichkeit, den Cursor an eine bestimmte stelle zu bewegen und dann ab da die Infos einzufügen?

Einen Befehl habe ich schon gefunden und zwar den "seek", allerdings schaffe ich es hierbei nur einzelne Zeilen auszulesen und nicht darin zu schreiben.

Vielleicht könnt ihr mir da helfen?

Danke
Sabine :-)

  1. Hi,

    Möchte aber gerne, das sie immer an erster stellen stehen.

    das kann kein Filesystem. Du möchtest eine Datenbank verwenden.

    Gibt es die möglichkeit, den Cursor an eine bestimmte stelle zu bewegen und dann ab da die Infos einzufügen?

    Es existiert bei Dateizugriffen kein Cursor.

    Einen Befehl habe ich schon gefunden und zwar den "seek", allerdings schaffe ich es hierbei nur einzelne Zeilen auszulesen und nicht darin zu schreiben.

    Wenn Du die Datei schreibend öffnest, kannst Du alles ab der ge-seek-ten Stelle überschreiben. Hilft Dir das?

    Cheatah

    1. Hey du

      Wenn Du die Datei schreibend öffnest, kannst Du alles ab der ge-seek-ten Stelle überschreiben. Hilft Dir das?

      Das dachte ich bei seek auch, aber es klappt irgendwie nicht.

      MFG
      Sabine

      1. Hi,

        Das dachte ich bei seek auch, aber es klappt irgendwie nicht.

        "klappt nicht" klappt nicht. Fehlerbeschreibung, bitte. Was hast Du gemacht, zu welchen (Miss-)Erfolgen hat es geführt, welche Fehlermeldungen gibt es, was hat Deine Analyse der Problematik ergeben?

        Cheatah

        1. Hallo Sabine,

          dass das kein Dateisystem kann, ist nicht richtig. Aber das nützt uns hier nix. Linux kann das eben nicht.

          Bei Linux fangen Dateien an einem Ankerpunkt an und hören am Ende auf. Allerdings kann man Linux sogenannte Spooldateien beibringen. Da wird der Dateianfang dann nach und nach aufgefressen und gegen das Ende verschoben. Ich habs allerdings noch nicht hinbekommen.

          Sowas kannst Du natürlich in der nächsten Schicht selbst emulieren.

          Bau Dir ein Verzeichnis.
          Speicher jeden Gästebucheintrag als eigene Datei ab.
          Den Namen der Datei vergibst Du nach einem von Dir bestimmten Algoritmus. Also z.B

          $fileName = "eintrag".date().".php"

          Dann musst Du Dein Directory nach Files scannen und diese im Namensarray der Files sortieren. Vorwärts oder rückwärts, das ist Deine Sache.

          Wenn Du den Files bestimmte Variablen gibst:

          $owner  Name des Erstellers
          $pass   "Passwort" des Erstellers
          $text   Textmitteilung
          $email  eMail des Erstellers zur Mitteilung des Passwortes

          dann kannst du diese Textdateien einfach in einem Anzeigescript mit include() einbinden und die Variablen ausgeben. Durch jedes include werden dann die Variablen der vorher verarbeiteten Datei überschrieben.

          Also includieren, verarbeiten, ausgeben, nächste Datei,...

          Soweit in PHP

          Grüße

          Tom