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

  • Diego1978
    hat ein Thema erstellt Datei löschen / leeren.

    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); 

  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Zergling
    oder $Text ganz einfach noch den alten Wert enthält.
    Überprüft?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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.

    Einen Kommentar schreiben:


  • Diego1978
    antwortet
    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!

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    $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.

    Einen Kommentar schreiben:


  • Diego1978
    antwortet
    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!

    Einen Kommentar schreiben:


  • Zergling-new
    antwortet
    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()

    Einen Kommentar schreiben:


  • Diego1978
    antwortet
    tut sich noch immer nix!
    gibt es noch eine andere Möglichkeit ?

    Einen Kommentar schreiben:


  • juhuwoorps
    antwortet
    Lass mal das $datei= bei unlink weg

    Einen Kommentar schreiben:

Lädt...
X