Ironwhistle: News...

Ich hatte gestern schon einmal fast die gleiche Frage gepostet, die Denkanstöße waren auch wunderbar und wirklich prima - aber wenn's an Grundlagenwissen fehlt, leider nicht wirklich hilfreich...

Frage - haltet mich für unverschämt, ich halte mich eher für Verzweifelt:

Kann mir jemand ein Script geben das Texte, die ich über eine  Textarea eingebe, inkl. Zeilenumbrüche , in eine Textdatei schreibt und bei neuen Texten diese neuen Texte automatisch an die oberste Stelle in der Textdatei setzt - so das ich sie per include auslesen kann?

Falls nicht - wie muss ich mein minimalstscript - für mehr reicht es bei mir noch nicht - ausbessern damit Texte richtig - also neue Eingaben zu oberst und inklusive der Zeilenumbrüche - dargestellt werden?

<?
if ($speichern) {
$dn="news/news.dat";
$dz=fopen($dn,"a+");
fputs($dz, " $news " . chr(13) . chr(10));
fclose($dz);
}
?>

Danke schön....

  1. Hi,

    <?
    if ($speichern) {
    $dn="news/news.dat";
    $dz=fopen($dn,"a+");
    fputs($dz, " $news " . chr(13) . chr(10));
    fclose($dz);
    }
    ?>

    hast du dir http://de2.php.net/manual/de/function.fopen.php schon
    durchgelesen? $dz=fopen($dn,"r+"); könnte dir helfen

    MfG

    1. Hi,

      <?
      if ($speichern) {
      $dn="news/news.dat";
      $dz=fopen($dn,"a+");
      fputs($dz, " $news " . chr(13) . chr(10));
      fclose($dz);
      }
      ?>

      hast du dir http://de2.php.net/manual/de/function.fopen.php schon
      durchgelesen? $dz=fopen($dn,"r+"); könnte dir helfen

      MfG

      r+ habe ich schon versucht, allerdings werden dabei die alten Einträge überschrieben...

      Wie stelle ich es an das die alten Einträge übernommen werden?

      1. Hi Ironwhistle,

        r+ habe ich schon versucht, allerdings werden dabei die alten Einträge überschrieben...

        Wie wäre es, wenn du den Inhalt der Datei erst mal ausliest, bevor du einfach was neues "drüber" schreibst? (s. bzw. nutze fread())

        Dann an den ausgelesenen String den neuen Text dranhängen (s. Zeichenketten-Operatoren) und wieder in die Datei schreiben (mit fwrite()), eventuell vorher die Länge der Datei auf 0 setzen (geht mit ftruncate()), falls der neue String aus irgend einem Grund kürzer sein sollte, als der alte.

        MfG, Dennis.

        --
        Mein SelfCode: ie:{ fl:( br:> va:) ls:[ fo:) rl:( n4:# ss:) de:] js:| ch:{ sh:| mo:} zu:|
        Mit Gesetzen ist es wie mit Würstchen - es ist besser, wenn man nicht weiß, wie sie gemacht werden. (Otto v. Bismarck)
  2. Hi,

    z.B.:

    $dn="news/news.dat";
    $old=file_get_contents($dn);
    $dz=fopen($dn,"w");
    fwrite($dz,$news."\n".$old);
    fclose($dz);

    Gruß, Cybaer

    --
    Hinweis an Fragesteller: Fremde haben ihre Freizeit geopfert, um Dir zu helfen. Helfe Du auch im Archiv Suchenden: Beende deinen Thread mit einem "Hat geholfen" oder "Hat nicht geholfen"!
    1. $dn="news/news.dat";
      $old=file_get_contents($dn);
      $dz=fopen($dn,"w");
      fwrite($dz,$news."\n".$old);
      fclose($dz);

      Gruß, Cybaer

      Dank dir! :o)

      Script läuft endlich und ich habe wieder was gelernt... :)

  3. <?
    if ($speichern) {
    $dn="news/news.dat";
    $dz=fopen($dn,"a+");
    fputs($dz, " $news " . chr(13) . chr(10));
    fclose($dz);
    }
    ?>

    Was war an meinem "Erst öffnen, inhalt auslesen, dann zusammensetzen, und dann neu reinschreiben" nicht verständlich? Wenn man grundlagen nicht kann, kann man die nachschlagen, fopen() ist wohl detailliert genug erklärt...

      
    <?php  
    if ($speichern) {  
    $dn="news/news.dat";  
    // auslesen  
    $dz=fopen($dn,"r");  
    $inhalt = fread($dz,filesize($dn));  
    fclose($dz);  
      
    // neu zusammensetzen  
    $neuer_inhalt = nl2br($news)."<br /><!-- NEWS TRENNER --><br />\r\n".$inhalt;  
      
    // schreiben  
    $dz=fopen($dn,"w");  
    fputs($dz,$neuer_inhalt);  
    fclose($dz);  
    }  
    ?>  
    
    

    Hab das nicht getestet, falls ich mich wo vertippt hab, sorry...

    greetz RFZ

    Danke schön....