Poljo: Problem mit fseek und fwrite

Hi
Also ich öffne eine Textatei, platziere mit fseek den Dateizeiger an eine Stelle und möchte dann mit fwrite an diese Stelle etwas reinschreiben. Das Problem ist nur, dass fseek zwar den Dateizeiger an die richtige Stelle setzt (hab ich mit ftell überprüft), fwrite aber nicht an diese Stelle, sondern an das Ende der Datei schreibt.
Hier mal den betreffenden Teil:

$datei = fopen ("data.txt", "a");
fseek ($datei, 200);
$zeiger = ftell($datei);
echo $zeiger;
fwrite ($datei, $text);
fclose($datei);

So, und was hab ich jetzt falsch gemacht?
Hoffentlich weis jemand da ne Lösung. :-)
tschau jojojojo...........

  1. Halihallo Poljo

    $datei = fopen ("data.txt", "a");

    ^^^  Was bedeutet 'a', frage ich dich?

    fseek ($datei, 200);

    ... und was macht fseek in Textdateien für einen Sinn? - Wohl bemerkt, es kann Sinn
    machen, aber das ist eher unwahrscheinlich.

    So, und was hab ich jetzt falsch gemacht?

    Genau ein Buchstabe ist falsch.

    Viele Grüsse

    Philipp

    --
    RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
    Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
    1. Halihallo Poljo

      $datei = fopen ("data.txt", "a");

      ^^^  Was bedeutet 'a', frage ich dich?

      Laut http://www.php.net/manual/de/function.fopen.php öffent man so eine Datei zum schreiben; wenn die datei nicht existiert wird versucht sie anzulegen

      fseek ($datei, 200);

      ... und was macht fseek in Textdateien für einen Sinn? - Wohl bemerkt, es kann Sinn
      machen, aber das ist eher unwahrscheinlich.

      Naja, was anderes als Textdateien hab ich halt nicht zur verfügung.

      Geholfen hat mir das jetzt aber auch nicht.......
      :-(
      tschau jojojoj.........

      1. Hi,

        Geholfen hat mir das jetzt aber auch nicht.......

        wer lesen kann ist klar im Vorteil ;)
        habs mal rauskopiert:

        <zitat>
        3. if you're using fseek() to write data to a file, remember to open the file in "r+" mode, example:

        $fp=fopen($filename,"r+");

        Don't open the file in mode "a" (for append), because it puts the file pointer at the end of the file and doesn't let you fseek earlier positions in the file (it didn't for me!). Also, don't open the file in mode "w" -- although this puts you at the beginning of the file -- because it wipes out all data in the file.

        Hope this helps.
        </zitat>
        Quelle: <www.php.net>

        ciao
        romy

        --
        DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
        sh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[
        Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
        Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
        1. Halihallo Poljo

          $datei = fopen ("data.txt", "a");
                                        ^^^  Was bedeutet 'a', frage ich dich?
          Laut http://www.php.net/manual/de/function.fopen.php öffent man so eine Datei zum schreiben; wenn die datei nicht existiert wird versucht sie anzulegen

          Lies genauer. Positioniert den Dateizeiger ans Ende, das mag wohl durch fseek
          temporär geandert werden, aber 'a' heisst nunmal append und nicht 'w+b'/'wb'.
          Aber du hast recht, die Dokumentation ist nicht genau, shame on php.net; der Hinweis
          auf "append" hätte ich zumindest in der Englischen Version erwartet.

          Viele Grüsse

          Philipp

          --
          RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
          Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
          1. Halihallo romy

            [...]
            and now shame on _me_ :-)
            War an Poljo gerichtet.

            Viele Grüsse

            Philipp

            --
            RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
            Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
            1. Hi,

              [...]
              and now shame on _me_ :-)

              nun aber ab in die Ecke und die Hörnchen auf ;-)

              ich mag deine Signatur!

              schönen Tag noch!

              ciao
              romy, die dringend Feierabend braucht und Sonne und Meer und ... Schokolade!!!

              --
              DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
              sh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[
              Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
              Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
              1. Halihallo romy

                [...]
                and now shame on _me_ :-)
                nun aber ab in die Ecke und die Hörnchen auf ;-)

                *stark-errötet-im-stillen-ecklein-sitz* ;)

                ich mag deine Signatur!

                Oh, danke, danke. Würden das nur alle tun, die armen Stamm-Servierdüsen hätten fast gar
                nix mehr zu tun... Ach, wär eigentlich auch schade... es bräuchte keinen Cheatah mehr ;)

                romy, die dringend Feierabend braucht und Sonne und Meer und ... Schokolade!!!

                Uh, ich sag jetzt lieber nicht, wo ich gewesen bin... Naja, is zwar auch schon wieder
                ein Zeitchen her, somit habe ich die selben Wünsche wie du :-)
                Also gegen das Schokoladenbedürfnis hätte ich etwas: Lola-Crip, Billigschokolade aus
                dem Coop (Aldi für Schweiz? *g*) aber einfach die Beste! :-)

                Ich glaube der schöne Tag hat sich auf _meinen Wunsch hin_ zu dir begeben, bei mir is er
                nämlich nimmer :-)

                Viele Grüsse

                Philipp

                --
                RTFM! - Foren steigern das Aufkommen von Redundanz im Internet, danke für das lesen der Manuals.
                Selbstbedienung! - Das SelfForum ist ein Gratis-Restaurant mit Selbstbedienung, Menüangebot steht in den </faq/> und dem </archiv/>.
                1. Hi,

                  Ich glaube der schöne Tag hat sich auf _meinen Wunsch hin_ zu dir begeben, bei mir is er
                  nämlich nimmer :-)

                  gerade sehe ich die ersten Sonnenstrahlen durch den grauen Himmel blitzen.
                  Frau dankt für soviel Energie...

                  ciao
                  romy

                  --
                  DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
                  sh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[
                  Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
                  Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode
            2. @ Romy: Danke! Hätt ich eigentlich auch sehen können.
              Aber bei r+ hat man ja wieder das Problem, dass da irgentwie Bytes die "im weg" sind überschrieben werde. Da peil ich irgentwie nich ganz durch(bin PHP Anfänger, wie man merkt). aber das wär ja eh wieder ein andres Thema.
              tschau jojojoj.........

              1. Hi,

                Aber bei r+ hat man ja wieder das Problem, dass da irgentwie Bytes die "im weg" sind überschrieben werde.

                wenn Du genau weisst , wo der einzufügende TExt hinsoll, benutze STringoperationen, bzw. arrayfunktionen.

                mit file() kannst Du eine Datei in ein array einlesen und mit implode() einen String drauss machen. Es gibt genug Funktionen, die DInge einfügen können bzw. löschen
                schau Dich nochmal um bei php.net

                ciao
                romy

                --
                DIE ROMY AUS L. AN DER P. SAGT DANKE UND AUF WIEDERSEHEN
                sh:( fo:| ch:? rl:( br:& va:| zu:) ss:| ls:[
                Die Erklärung zum Selfcode findest du hier: http://emmanuel.dammerer.at/selfcode.html
                Einen Decoder für den Selfcode findest du hier: http://peter.in-berlin.de/projekte/selfcode