Ankündigung

Einklappen
Keine Ankündigung bisher.

Zeilen auslesn und speichern

Einklappen

Neue Werbung 2019

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

  • Zeilen auslesn und speichern

    Ich will aus einer txt-Datei mit file() die einzelnden Zeilen auslesen, eine Zeile neu-schreiben und die Zeilen wieder in eine txt-Datei schreiben. Ich scheiter daran trotz langem Versuchen.

    Ich habe es so probiert, allerdings wird so nur "Array" (ohne anführungsstriche) in die txt-Datei gespeichert...:

    $data = file("file.txt");
    $nline = "text";
    $zeilenname--
    $data[$zeilenname] = $nline;

    $test = fopen("file.txt", "w");
    fwrite($test, $data);
    fclose($test);

    Ich hoffe ihr könnt mir helfen...

  • #2
    wird $zeilenname auch vorher irgendwie definiert?

    Kommentar


    • #3
      $zeilenname hat z.b. den Wert 1

      Kommentar


      • #4
        achja, es muss $zeilenname--; heißen.

        Kommentar


        • #5
          ja, hatte ich auch...

          Kommentar


          • #6
            Mit fwrite($test, $data) schreibst Du ein Array, also schreibt er »Array()«.

            Wenn Du den Inhalt schreiben möchtest, kannst Du z. B. vorher mit implode() einen String daraus machen.

            Kommentar


            • #7
              Wär nett, wenn du erklären würdest wie, bin noch nicht so gut in PHP. :/

              Kommentar


              • #8
                Lies Dir mal bitte http://de.php.net/implode durch und sag dann, was Du nicht verstehst, ok?

                PS: Als Trennzeichen kannst Du "\r\n" (Zeilenumbruch) verwenden.

                Kommentar


                • #9
                  $data = file("file.txt"); // daten werden in arrays gespeichert, Zeile 1=data[0], Zeile 2=data[1], usw.
                  $nline = "text"; //die Zeile die eingefügt werden soll
                  $zeilennummer--; // z.b. 2
                  $data[$zeilennummer] = $nline; // z.b. Zeile 2 soll den Inhalt $nline bekommen
                  $sdata=implode($data); // alter Inhalt, incl. der geänderten Zeile soll in einem String umgewandelt werden
                  $test = fopen("file.txt", "w"); //Datei soll zum schreiben geöffnet werden
                  fwrite($test, $sdata); //In der Datei soll der alte Inhalt, allerdings mit geänderter Zeile wieder gespeichert werden
                  fclose($test); // Datei wird geschlossen

                  So jetzt hab ich meine Logik mal in Bemerkungen hingeschrieben, allerdings passiert nicht das was ich will... Es wird so nur die neue Zeile geschrieben. Also was hab ich falsch gemacht?

                  Kommentar


                  • #10
                    Ich glaub ich habs hinbekommen, danke.

                    Kommentar

                    Lädt...
                    X