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

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

  • 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???
    Last edited by spam2008; 17-11-2007, 15: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()?

    Comment


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

      Comment


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

        Comment


        • #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.
          Last edited by Crake; 21-11-2007, 18: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

          Comment

          Working...
          X