gibt es eine alternative zum Zeilenweise Schreiben in eine .txt??

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

  • gibt es eine alternative zum Zeilenweise Schreiben in eine .txt??

    hi leute ..

    mein programm mach folgefehler durch das zeilenweise schreiben in eine datei..
    ich schreibe 5 Strings nach einander in zeilen in eine datei.

    wenn ich die datei lese und den ersten string entferne und wieder ans ende der datei schreibe bekomme ich fehler beim erstellen der Zeilen..

    der Code:

    lesen -->

    PHP-Code:
    $email1 fgets($fhandle); //email 1
                     
    $email2 fgets($fhandle); //email 2
                     
    $email3 fgets($fhandle); //email 3
                     
    $email4 fgets($fhandle); //email 4
                     
    $email5 fgets($fhandle); //email 5 
    werte neu setzen -->

    PHP-Code:

        $emailNeu 
    "neue Email";
                 
                     
    $email1 $email2
                     
    $email2 $email3;
                     
    $email3 $email4;
                     
    $email4 $email5;
                            
    $email5 $emailNeu
    neue werde in datei schreiben -->
    PHP-Code:
                                                        fwrite($fhandle$email1."\n\r");
                     
    fwrite($fhandle$email2."\n\r");
                     
    fwrite($fhandle$email3."\n\r");
                     
    fwrite($fhandle$email4."\n\r");
                     
    fwrite($fhandle$emailNeu."\n\r"); 
    Der Fehler: die Zeilen werden immer unterschiedlich gespeichert. also das erste speichern ist richtig aber bei dem zweiten setzt er schon vor dem ersten string eine leerzeile obwohl da garkeine hingehört usw...

    wie kann ich das jetzt hinbekommen, dass ich mit einer datei arbeiten kann aber es nicht zu diesen lese bzw. speicher fehlern kommt???
    Zuletzt geändert von spam2008; 17.11.2007, 16:48.

  • #2
    \n\r => \r\n
    trim() dazu wäre auch nicht verkehrt.

    Kennst du eigentlich file(), implode(), explode(), file_get_contents() und file_put_contents()?

    Kommentar


    • #3
      Ich würde es anders angehen:

      Zum löschen:
      PHP-Code:
      function delete($to_remove$filename$insert$path="")
      {
        
      $file implode(""file($path $filename));
        
      $file_content str_replace($to_remove$insert$file);
        
      $file fopen($path "entries/" $file_name"w");
        
      fputs($file$file_content);
        
      fclose($file);

      Und mit
      PHP-Code:
      $file fopen($path $file_name"a"); 
      schreibst du an das Ende der Datei.
      [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
      [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

      Kommentar


      • #4
        Ist ja wohl die schlechteste Lösung für dieses Problem, meinste nicht?

        Kommentar


        • #5
          Original geschrieben von PHP-Desaster
          Ist ja wohl die schlechteste Lösung für dieses Problem, meinste nicht?
          War ursprünglich auch für sich erweiternde Listen gedacht.

          Ein besserer Ansätz bestünde womöglich darin, die Werte in ein eindimensionales einzulesen, die Datei zu leeren, die Arrayelemente ab Index 1 zeilenweise in die Datei zu schreiben und anschließend mit dem zuzufügenden Element ebenso zu verfahren.

          Daten einlesen, Datei öffnen, Elemente in Datei schreiben (For-Schleife, 1 bis Count) und Datei schließen. - Wären 5 Zeilen.
          Zuletzt geändert von Crake; 21.11.2007, 19:36.
          [COLOR=red]Gesellschaftsforum.net[/COLOR] - Projekt zur Wiederbelebung der Diskussionskultur im Internet
          [COLOR=orange]1st News[/COLOR] - Das Newsletterscript für den professionellen Einsatz

          Kommentar

          Lädt...
          X