Ankündigung

Einklappen
Keine Ankündigung bisher.

Datei löschen / leeren

Einklappen

Neue Werbung 2019

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

  • Datei löschen / leeren

    Ich bekomme es nicht hin, das die Datei "News.txt" geleert wird oder
    gelöscht und neu angelegt wird bevor Sie neu beschrieben und ausgeben
    wird! Verzweifel bald, ich hab es mit unlink und fopen "w+" probiert und
    nix tut sich, die alten Daten aus der Datei News.txt werden wieder mit
    ausgegeben!

    Was mache ich falsch?

    Hier mein Code:

    PHP-Code:
    if (isset($absenden)){



       
    $datei unlink("News.txt");
       
    $datei fopen("News.txt","w+");

       
    $eintrag ereg_replace("\n","
    "
    ,$eintrag);

       
    $eintrag stripslashes($eintrag);

       
    $daten "<hr>[b]Überschrift:[/b]$Ueberschrift

       [b]Text:[/b]

       
    $Text
    \n\n"
    ;

       
    fwrite($datei,$daten);
       
    fclose($datei);
    }

    if (
    file_exists("News.txt")){

       
    $datei fopen("News.txt","r");
       
    $daten fread($datei,filesize("News.txt"));

       print 
    $daten;

    }
    else
    {
       print 
    "[b]Zur Zeit gibt es nichts Neues![/b]";
    }


    if (
    $Ueberschrift=="" or $Text=="")
    {
       echo 
    "Alle Felder müssen ausgefüllt werden !

    "
    ;
       echo 
    "<a href=schreiben.php>zurück zu Formular</a>";
       exit();
    }

    $fn="News.txt";

    echo 
    "$Überschrift
    "
    ;
    echo 
    "$Text
    "
    ;
    $daten="
    <hr>


    $Text

    "
    ;

    $fp=fopen($fn,"a+");
    $res=fwrite($fp,$daten);
    fclose($fp); 

  • #2
    Lass mal das $datei= bei unlink weg
    Und geht auch alles in die Binsen, immer heftig weiter grinsen!

    Kommentar


    • #3
      tut sich noch immer nix!
      gibt es noch eine andere Möglichkeit ?

      Kommentar


      • #4
        http://de2.php.net/fopen
        '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.
        Das funktioniert definitiv. Sehe bei dir so direkt keinen Fehler, vermute daher, dass du in eine falsche Schleife kommst oder $Text ganz einfach noch den alten Wert enthält.


        $eintrag = ereg_replace("\n","
        ",$eintrag);
        Benutze preg_replace(), str_replace() oder am besten gleich nl2br()

        Kommentar


        • #5
          also ich find einfach den Fehler nicht!
          Meine Birne bekommt nach nächtlicher
          Arbeit irgendwie keinen Input mehr rein!!
          Kennt ihr bestimmt auch!!

          Hm, kann mir jemand helfen einfach nur ein Formular zu basteln,
          welches den Text in eine ganz normale Textdatei auf dem
          Server speichert und gleicheitig den alten Text in
          der vorhandenen Datei löscht!

          Das Html - Formlar dazu folgendermaßen aus:

          Code:
          <form action="News.php" method="post">
            <table width="100%" border="0">
              <tr>
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Ueberschrift:</font></td>
                <td><input type="text" name="Ueberschrift"></td>
              </tr>
          
              <tr valign="top">
                <td><font size="2" face="Verdana, Arial, Helvetica, sans-serif">Text:</font></td>
                <td><textarea name="Text"></textarea></td>
              </tr>
              <tr>
                <td></td>
                <td><input type="submit" value="Eintragen">
                  <input type="submit" value="Vorschau"></td>
              </tr>
            </table>
          </form>
          php-teil hab ich ja oben bereits versucht aber irgendwie ohne erfolg!

          Kommentar


          • #6
            $datei = fopen("News.txt","r");
            $daten = fread($datei,filesize("News.txt"));

            print $daten;
            Achte auch darauf, dass die Datei wieder geschlossen wird.

            EDIT:

            Hier kannst du auch mit file_get_contents() arbeiten.

            Kommentar


            • #7
              Ja aber du gibst ja die daten aus und ich möchte in sie in die datei schreiben
              und vorher die schon vorhandenen Inhalte der datei löschen!

              Kommentar


              • #8
                Ja aber du gibst ja die daten aus
                $daten = file_get_contents('News.txt');

                ... ist bei mir keine Ausgabe

                EDIT:

                Aber bevor du 3 mal fopen() benutzt, würde ich hier mehr mit Array() arbeiten.
                Einfach besser und schneller, ist nur ein Vorschlag.

                Kommentar


                • #9
                  Zitat von Zergling
                  oder $Text ganz einfach noch den alten Wert enthält.
                  Überprüft?

                  Kommentar

                  Lädt...
                  X