Textfiles nach Datum Sortieren?

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

  • Textfiles nach Datum Sortieren?

    Grüßt euch...!

    Habe vor kurzem erst mit PhP angefangen , desto stolzer bin ich , das ich schon ein kleines News System geschrieben hab. Das Newssystem Bassiert auf einem Textfile. Ich benutze den modi w+ um die eingegebenen Daten zu sichern. Leider ist es bei w+ nur möglich einen Beitrag zu schreiben der den Davorgeschriebenen Überschreibt. Gibt es eine Möglichkeit das PHP die daten irgendwie Sortiert und übereinander schreibt (die neusten Einträge nach oben)?. Oder sollte ich einen anderen modi wählen?

    Bitte antwortet schnell

    DiggiCell
    "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
    (Henry Mon)


    http://www.diggicell.de

    Nun auch mit neuen Inhalten

  • #2
    Du könntest mit fopen("datei","a");
    neue daten anhängen
    beim auslesen dann die Funktion file() benutzen und das array umgekehrt sortieren ...
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      probier mal r+

      'r+' - Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei.

      wobei hingegen w+

      'w+' - Öffnet die Datei zum Lesen und Schreiben und setzt den Dateizeiger auf den Anfang der Datei sowie die Länge der Datei auf 0 Byte. Wenn die Datei nicht existiert, wird versucht sie anzulegen.

      nachzulesen unter http://de.php.net/manual/de/function.fopen.php
      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


      • #4
        naja

        Das mit r+ geht wahrscheinlich nicht , weil dieser modi leider auch den zuletzt geschriebenen beitrag überschreibt... . Koennteste deine Variante noch weiter beschreiben Mello ?.

        Thx für die Schnelle antwort
        "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
        (Henry Mon)


        http://www.diggicell.de

        Nun auch mit neuen Inhalten

        Kommentar


        • #5
          wenn du eine neue zeile in deine textdatei schreibst, mache das so.
          [color=red]nicht getestet[/color]

          PHP-Code:
          // so schreibt er immer hinten weiter.
          $fp fopen("deinedatei.txt""a");
          fputs($fp"der zeileninhalt"); 
          zum auslesen nimm das.
          http://de.php.net/manual/de/function.array-reverse.php

          PHP-Code:
          // datei in array einlesen
          $dateiinhalt file("deinedatei.txt");
          // array umgekehrt sortieren
          $dateiinhalt array_reverse($dateiinhalt);

          // optional wieder zusammenfassen
          echo implode ("<br><br>"$dateiinhalt); 
          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


          • #6
            Oke

            Vielen Dank , werde ich mal ausprobieren... Heißt aber nicht das die anderen ihre Varianten net posten können
            "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
            (Henry Mon)


            http://www.diggicell.de

            Nun auch mit neuen Inhalten

            Kommentar


            • #7
              Bzw. Was meinst du mit Zeileninhalt ? Die eingaben die ich im Formular abgegeben hab?
              "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
              (Henry Mon)


              http://www.diggicell.de

              Nun auch mit neuen Inhalten

              Kommentar


              • #8
                schätzungsweise ja

                is übrigens die wahrscheinlich beste lösung (zumindest fällt mir - abgesehen von sql - nix beseeres ein, was aber nix heißen muss)

                hast du denn kein sql?
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9


                  Schon , aber da steige ich noch Weniger durch . Habe das jetzt mal ausprobiert , und bei der ausgabe hat sich NICHTs verändert. Der neuste Beitrag überschreibt immernoch net letzten... . Beziehungsweise , wenn ich den modi bei a+ lasse schreibt er garnichts mehr...

                  Hier mal meine Php codes :

                  data.dat ist die Datei die die Beiträge Speichert...

                  hier ist guestbook.php , welche die daten nachher ausgibt(mein newssystem basiert eigentlich auf meine gästebuch,deswegen guestbook *g*:

                  PHP-Code:
                  <html>
                  <head>

                  </head>
                  <body>
                  <center><br>
                  <br><br>
                  <?php
                  $datenbank 
                  "daten.dat";
                  $datei fopen($datenbank,"r");
                  fpassthru($datei);
                  ?>
                  </body>
                  </html>

                  Und hier gb.php :

                  PHP-Code:
                  <?php
                  $date
                  =date("j.n.Y");
                  $tag=date("w");
                  $tage = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
                  $daten="$eintrag<br><br> von <a href=mailto:$email>$name</a>  Eingesendet am <b> $tage[$tag] </b> dem $date <br>";
                  $datenbank "daten.dat";
                  $datei fopen($datenbank,"w+");
                  fwrite($datei$daten);
                  ?>
                  Jut , das hat geklappt :)
                  <a href="index.php">Zurück zur Homepage</a>
                  Das sind jetzt die ORIGINAL dateien...Ich versteh nicht so recht wo ihr dort eure Zeilen einbauen Wollt
                  "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
                  (Henry Mon)


                  http://www.diggicell.de

                  Nun auch mit neuen Inhalten

                  Kommentar


                  • #10
                    gb.php
                    PHP-Code:
                    <?php
                    $date
                    =date("j.n.Y");
                    $tag=date("w");
                    $tage = array("Sonntag","Montag","Dienstag","Mittwoch","Donnerstag","Freitag","Samstag");
                    $daten="$eintrag<br><br> von <a href=mailto:$email>$name</a>  Eingesendet am <b> $tage[$tag] </b> dem $date <br>";
                    $datenbank "daten.dat";
                    $datei fopen($datenbank,"a+");
                    fwrite($datei$daten);
                    ?>
                    Jut , das hat geklappt <img src="images/smilies/smile.gif" border="0" alt="">
                    <a href="index.php">Zurück zur Homepage</a>
                    guestbook.php
                    PHP-Code:
                    html>
                    <head>

                    </head>
                    <body>
                    <center><br>
                    <br><br>
                    <?php
                    $datenbank
                    ="daten.dat";
                    $eintraege=file($datenbank);
                    array_reverse($eintraege);
                    for(
                    $i=0;$i<count($eintraege);$i++)
                      echo 
                    "$eintraege[$i]<p />";
                    ?>
                    </body>
                    </html>
                    Zuletzt geändert von mrhappiness; 20.01.2003, 21:35.
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      GG

                      Vielen Dank für Tunen
                      Allerdings sagt der mir folgenden Fehler : Warning: Argument to array_reverse() should be an array in /home/www/web216/html/Versuche/guestbook.php on line 11
                      "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
                      (Henry Mon)


                      http://www.diggicell.de

                      Nun auch mit neuen Inhalten

                      Kommentar


                      • #12
                        OffTopic:
                        rechnung rausgenommen, sonst meckert der herr finanzamtliebhaber abraxax wieder
                        np
                        EDIT:
                        Ändere "$eintrage=" in "$eintraege="; immer dieser trugvällerdoivvehl
                        Zuletzt geändert von mrhappiness; 20.01.2003, 21:36.
                        Ich denke, also bin ich. - Einige sind trotzdem...

                        Kommentar


                        • #13
                          THX

                          Coooole sache , nochmals Vielen Dank
                          "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
                          (Henry Mon)


                          http://www.diggicell.de

                          Nun auch mit neuen Inhalten

                          Kommentar


                          • #14
                            Re: GG

                            Original geschrieben von Diggicell
                            Vielen Dank für Tunen
                            Allerdings sagt der mir folgenden Fehler : Warning: Argument to array_reverse() should be an array in /home/www/web216/html/Versuche/guestbook.php on line 11
                            schreibe mal STATT array_reverse($eintraege);

                            das hier.
                            PHP-Code:
                            // die zuweisung fehlte.
                            $eintraege array_reverse($eintraege); 
                            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


                            • #15
                              Moment

                              Der tuts aber immernoch Falsch anordnen... ich mögchte ja gerne die neusten news oben haben und die ältesten unten
                              "Alkohol ist keine Antwort, aber man vergisst beim Trinken die Frage."
                              (Henry Mon)


                              http://www.diggicell.de

                              Nun auch mit neuen Inhalten

                              Kommentar

                              Lädt...
                              X