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

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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); 
    Last edited by spike1977; 23-03-2014, 15:55.

    Comment


    • #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]

      Comment

      Working...
      X