Hilfe => Textdatei rückwärts auslesen

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

  • Hilfe => Textdatei rückwärts auslesen

    Ich bräuchte ein Script das den Inhalt einer Textdatei ausliest. So das der letzte Eintrag immer ganz oben steht.

    kann mir jemand helfen

    danke

    GoDLiKe

  • #2
    Ich gehe mal davon aus das du irgendwelche sachen mit hilfe eines seperators in der Textdatei speicherst, und sie danach auslesen und umdrehen willst, alles was du dazu brauchst ist:
    explode() und array_reverse()


    Ps.: vielleicht solltest du mir namen wie "GoDLiKe" etwas vorsichtiger sein!
    Die Musikreview Seite

    hi, i'm a signature virus. copy me into your signature to help me spread.

    Kommentar


    • #3
      Hiiiiiiiiiiiillllfee

      Ich habe folgendes Problem. Mein neuester eintrag in meinem newsscript wird einfach nicht ganz oben geschrieben. kann mir bitte jemand helfen!!!!!!

      Eingabeseite für News:
      <html>
      <body background="../img/left.jpg">
      <font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="white">
      PHP-Code:
      <?php
      $daten
      ="<hr>$datum $titel<br>$news<hr><br>";
      $datenbank "news.txt";
      $datei fopen($datenbank,"a+");
      fwrite($datei,$daten);
      ?>
      <center>
      <b>News eingeben<b>
      <br>
      <form method="post" action="newsud.php?action=add"><center>
      <textarea name="datum" rows="1" cols="40">Datum</textarea><br>
      <textarea name="titel" rows="1" cols="40">Titel</textarea><br>
      <textarea name="news" rows="10" cols="40">News</textarea><br>
      <input type="submit" value="Speichern" name="add">
      </center>
      </form>
      </font>
      </body>
      </html>

      Hier die News.php für die Ausgabe der Einträge

      <html>
      <head>
      <link rel="stylesheet" type="text/css" href="../../stylesheets/style.css">
      </head>
      <body background="../../img/main.gif">
      <table width="400px" align="center">
      PHP-Code:
      <?php
      $datensatz 
      file("../../admin/news.txt");
      $datensatz array_reverse($datensatz);
      for(
      $i=0;$i<count($datensatz);$i++)
      {
        echo 
      $datensatz[$i];
      }
      ?>
      </table>
      </body>
      </html>

      Danke für eure hoffentlich zahlreiche Hilfe.

      mfg

      GoDLiKe

      Kommentar


      • #4
        führe zusammen, was zusammen gehört.....


        *ZUSAMMENFÜHR*
        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


        • #5
          vielleicht solltest du das Ergebnis von array_reverse() nicht in selbe Array übergeben. Oder machs einfacher und benutze

          rsort($datensatz);

          zum Sortieren in verkehrter Reihenfolge. Ist ja die gleiche Funktion wie array_reverse(), nur dass das vorhandene Array benutzt wird, während array_reverse() ein neues erzeugt.

          P.S.: ich würde auch darauf achten, dass du beim Speichern in den File immer einen Zeilenumbruch mitgibst:

          fwrite($datei,$daten."\n");

          und das fclose($datei); nicht vergessen
          Zuletzt geändert von BrainBug; 13.08.2003, 15:14.

          Kommentar


          • #6
            nichts geht

            Ich habe das jetzt so geändert wie du vorgeschlagen hast doch rsort bewirkt gar nichts die ausgabe ist die gleiche wie vorher.

            noch andere vorschläge???!!!!!

            mfg GoDLiKe

            Kommentar


            • #7
              versuch's erstmal mit

              var_dump($datensatz);

              damit du siehst, was vor und nach dem rsort() oder array_reverse() drinsteht. Kannst ja mal einen Auszug davon hier posten.
              Vielleicht stimmt ja mit der Filestruktur was nicht.

              Kommentar


              • #8
                wenn ich aber dein Skript von oben richtig deute, dann gibst du zwischen dem <table> und </table>-Tag eigentlich nichts aus außer die Zeilen deiner Datei, die von der Struktur her nix mit Tabellenreihen zu tun haben.
                Vielleicht solltest du das mal ändern:

                PHP-Code:
                <table width="400px" align="center">

                <?php
                $datensatz 
                file("../../admin/news.txt");
                rsort($datensatz);
                for(
                $i=0;$i<count($datensatz);$i++)
                {
                  echo 
                "<tr><td>".$datensatz[$i]."</td></tr>";
                }
                ?>

                </table>

                Kommentar


                • #9
                  oh mann, heute ist es hier so heiss, ich kann schon nicht mehr richtig denken. Vergiss rsort(), dass sortiert dir ja die Werte.
                  Geht ja alles viiiiiel einfacher:

                  PHP-Code:
                  <table width="400px" align="center">

                  <?php
                  $datensatz 
                  file("../../admin/news.txt");
                  for(
                  $i=count($datensatz);$i>0;$i--)
                  {
                    echo 
                  "<tr><td>".$datensatz[$i]."</td></tr>";
                  }
                  ?>

                  </table>
                  so wird das vorhandene Array (am Ende dessen dein neuester Eintrag steht) eben nur rückwärts ausgegeben und nicht vorher manipuliert. Hoffe es klappt (schwitz)

                  Kommentar


                  • #10
                    inhalt ist leer

                    jetzt ist meine news.php einfach leer

                    code:

                    <html>
                    <head>
                    <link rel="stylesheet" type="text/css" href="../../stylesheets/style.css">
                    </head>
                    <body background="../../img/main.gif">
                    <table width="400px" align="center">
                    PHP-Code:
                    <?php
                    $datensatz 
                    file("../../admin/news.txt");
                    for(
                    $i=count($datensatz);$i>0;$i--);
                    {
                      echo 
                    "<tr><td>".$datensatz[$i]."</td></tr>";
                    }
                    ?>
                    </table>
                    </body>
                    </html>



                    Die Beiträge werden trotzdem noch nicht geordnet, andere Vorschläge???

                    GoDLiKe
                    Zuletzt geändert von GoDLiKe; 13.08.2003, 16:15.

                    Kommentar


                    • #11
                      was hat denn var_dump($datensatz) ergeben?

                      P.S.: und lass dir mal count($datensatz) ausgeben, ob die Schleife überhaupt anspringt.
                      Zuletzt geändert von BrainBug; 14.08.2003, 09:07.

                      Kommentar

                      Lädt...
                      X