fputs() und fwrite() überschreiben immer!!!

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • fputs() und fwrite() überschreiben immer!!!

    Hi Leutz,
    Also, hier mein Problem:
    Ich lerne gerade ganz frisch PHP, BIN ALSO EIN NEWBIE!!
    Wenn ich jetzt mit meinem Script die 2. PHP-Seite öffne, mit fseek an die richtige Stelle Wechsle und dann mit fputs bzw. fwrite Daten darein schreiben will, dann überschreibt das Script immer die alten Daten, die dahinter jedoch stehenbleiben sollen!

    Also: XXXXX sind die Alten Daten, OOOOO sind die neuen Daten

    Vorher:
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    So wie ich es nachher gerne hätte:
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    OOOOOOOOOOOOOOOOOOOOOOO
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX

    So wies aber leider kommt:
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXX
    OOOOOOOOOOOOOOOOOOOOOOO

    Ich hoffe jemand begreift meine Zeichnung!

    Thx im Voraus, und haltet eure Antworten einfach und verständlich, auch für einen Newbie!!

    cYa@work,
    tortus@work

  • #2
    Wenn ich das richtig verstehe möchtest Du Daten in die Datei einfügen und nicht bestehende Daten überschreiben und natürlich auch nicht wie in deinem Beispiel die neuen Daten anhängen.

    Dieses geht letztlich nur über das umkopieren entweder innerhalb der Datei oder über eine temporäre Datei was ich je nach Grösse der Datei empfehlen würde.

    Wie öffnest Du die Datei??
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      fopen (name, "w+") oder fopen (name, "w") ?

      Kommentar


      • #4
        du kannst in PHP immer nur angehängt schreiben!!!
        ändern einzelneer zeilen ist nicht möglich.
        gruss
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          Hi,

          um einzelne Zeilen oder Wörter zu ändern in php musst Du die Datei in eine Variable einlesen oder in ein Array, den Teil ändern in der Varable oder dem Array und dann das ganze wieder wegspeichern.

          Damit erreichst Du das was Du tun willst. Ansosnten kannst DU nur mehr oder weniger anhängen oder überschreiben in einer Datei.

          Kommentar


          • #6
            Naja, dann muss ich mir wohl etwas neues einfallen lassen.
            Danke trotzdem

            Kommentar


            • #7
              DIE Idee

              Ok Leutz, ich bin der King *grins*!
              Ich hab das Problem jetzt selber in den Griff bekommen.
              Ich hab das, was in die Datei eigentlich reinsollte in eine 3. Datei packen lassen, deren Inhalt ich vorher auslese und nachher wieder mit reinspeichere.
              Das ganze binde ich nachher mit include wieder in die Datei ein, wo der ganze Mist reinsoll.
              :edit: *vulg*
              Zuletzt geändert von Titus; 17.05.2002, 15:01.

              Kommentar

              Lädt...
              X