10 Einträge in der Datei und keine 11 oder mehr!

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

  • 10 Einträge in der Datei und keine 11 oder mehr!

    Hallo.
    Ich bekomme das einfach nicht hin...

    Beim abruf der z.B. index.php Datei wird ein Eintrag in test.txt gemacht.
    Es sollen immer nur 10 Einträge in der Datei test.txt drin stehen!
    Sobald der neue Eintrag gemacht wurde, soll der letzte Eintrag gelöscht werden! Damit immer nur 10 Einträge in der test.txt drin stehen.

    Was mache ich falsch?



    PHP-Code:
       $Datei "test.txt";
       
    $text "Eintrag...";
       
    $txt fopen("$Datei","a");
       
    fwrite($txt$text);
       
    //fwrite($txt, $text."\n");
       
    fclose($txt);


    $Eecho "an"// an aus (nur zur übersicht anzeigen...)
    if (file_exists($Datei)) {
      
    // Öffnen
        
    if ($handle fopen ($Datei"r")) {
           
    // Lesen
           
    if ($Eecho == "an") {echo "<form method=\"post\"><textarea name=\"TextArea1\" style=\"width: 1024px; height: 400px\">";}else{}
               
    $contents "";
               
    $i 0;
               while (!
    feof($handle)) {
                  
    $contents .= fread($handle8192);
                    
    // wenn 10 dann löschen!!!!!!!!!!!!!!!! FUNZ ENDLICH!!!!!
                    
    if ($i 10) {
                      break;
                    }
                    
    $contents .= fgets($handle8192);
                    
    $i++;
               }
               if (
    $Eecho == "an") {echo "$contents \n </textarea></form>";}else{}
           
    // Schließen
           
    if (fclose($handle)) {
                 
    // Datei neu Schreiben
                 
    $do unlink($Datei);
                 if(
    $do=="1"){
                     
    $handle fopen ($Datei"w+");
                     
    $schreiben $contents;
                     
    fwrite ($handle$schreiben);
                     
    fclose($handle);
                 } else {
                 }
        
    // Datei geschlossen
          
    } else {
        
    // fehler
          
    }
        } else {
        
    // fehler
          
    }
        } else {
        
    // Datei gibt es nicht
    }

    include(
    "$Datei"); 

  • #2
    soph! gut verpackt und eingewickelt...
    PHP-Code:
    // Datei öffnen und ein paar Einträge lesen
    $datei=fopen("test.txt","r"); $Behalte=""$i 0;
    while(!
    feof($datei)) { $zeile fgets($datei,1000); if ($i == 40) { break; } $i++; // $i == 40 (Bei 40 wird gestoppt!)
    $Behalte $Behalte.$zeile; } fclose($datei); // echo $Behalte;
    // Einträge lesen F E R T I G

    //Jetzt neu schreiben
    $txt fopen("test.txt","w");
    fwrite($txt" Hauptsache die Haare liegen! ".$Behalte); //fwrite($txt, $Behalte."\n");
    fclose($txt); 
    Zuletzt geändert von spike1977; 23.03.2014, 16:55.

    Kommentar


    • #3
      ... warum nicht einfach so?

      PHP-Code:
      $lines file('test.txt');

      array_unshift($lines'Neuer Eintrag');

      while ( 
      count($lines) > 10 ) {
          
      array_pop($lines);
      }

      file_put_contents('test.txt'implode("\n"$lines)); 
      natürlich ungetestet und ins Unreine geschrieben.
      carpe noctem

      [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
      [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

      Kommentar

      Lädt...
      X