Einzelne Zeilen in Textdateien ändern?

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

  • Einzelne Zeilen in Textdateien ändern?

    Hallo,

    ich möchte per PHP-Script Daten, die über ein Formular eingegeben
    werden, in eine bestimmte Zeile einer .txt-Datei schreiben.

    Ist das überhaupt möglich?

    Einzelne Zeilen aus dieser Textdatei kann ich ja zumindest per Array
    ausgeben lassen, aber es geht darum, wie ich Text genau in Zeile x
    nicht nur einfügen, sondern ersetzen kann, ohne das sich die anderen
    zeilen verschieben.

    Ich wäre für ein paar hilfreiche Tipps sehr dankbar.

    MfG
    Matt

  • #2
    Ist das überhaupt möglich?
    ja.


    Einzelne Zeilen aus dieser Textdatei kann ich ja zumindest per Array
    ausgeben lassen, aber es geht darum, wie ich Text genau in Zeile x
    nicht nur einfügen, sondern ersetzen kann, ohne das sich die anderen
    zeilen verschieben.
    datei mit z.b. file() einlesen.

    du hast dadurch ein array.

    hier kannst du nun problemlos anhand des index einen 'datensatz' überschreiben.

    wenn du was einfügen willst, schuast du dir die aray-funktionen an.
    INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


    Kommentar


    • #3
      Natürlich geht das, eine Txt datei wird ja von PHP zeile für zeile geschrieben. Such mal hier dannach ich hab schon mal was ändliches gesehen.
      Möglich ist alles!

      Kommentar


      • #4
        Danke für die bisherigen Antworten.
        Leider klappt es immer noch nicht (bin Einsteiger)

        Also ich lasse per Formular verschiedene Variablen
        übergeben, und diese sollen dann in Zeile X der
        Datei test.cfg eingefügt werden.

        Hier mal der betreffende Code-Teil:

        $fp = fopen("test.cfg","a+");
        $datei = file($fp);
        $datei[4] = $antwort1;
        fwrite($fp, $datei);

        // Die Ausgabe der Datei
        $fp = fopen('test.cfg', 'r');
        fpassthru($fp);
        echo $datei[20];

        Wo liegt mein Denkfehler?

        Kommentar


        • #5
          OK - bin ein kleines Stück weiter, aber nun fügt er am Ende
          der Textdatei einfach nur Array an.

          Es ja ja nur um die fetgedruckte Zeile und das Problem,
          wie ich eine Variable in eine bestimmte, mit [] ausgewählte
          Zeile das Arrays schreiben.

          $fp = fopen('test.cfg', 'a+');
          $datei = file("test.cfg");
          $datei[20] = $antwort1;
          fwrite($fp, $datei);


          Bitte antwortet - ich weiss jetzt trotz ewiger Suche und Probiererei nicht
          mehr weiter.

          Kommentar


          • #6
            PHP-Code:
            // mache aus
            fwrite($fp$datei);

            // einfach
            fwrite($fpimplode("\n"$datei)); 
            INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


            Kommentar


            • #7
              Danke Abraxax !!!

              Jetzt klappt es zielgenau.

              Allerdings fügt er jetzt nach jeder Textzeile eine
              Leerzeile ein. Ich brauch nur einen Zeilenumbruch
              nach diesem Eintrag.

              Nochmals - Tausend Dank!

              Kommentar


              • #8
                mach das \n weg.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Das hatte ich schon probiert.
                  Dann stimmt alles, nur der umbruch nach dem eingefügten
                  Wert fehlt.

                  Also so:

                  Text
                  Text
                  WERT Text
                  Text
                  Text

                  Also muss der Umbruch vermutlich in die Zeile mit
                  dem $datei[20] rein. Oder?

                  Kommentar


                  • #10
                    OK - habs selbst hinbekommen.

                    Damit passt jetzt wirklich alles.

                    Danke

                    Kommentar

                    Lädt...
                    X