fputs($fp, $values.chr(13)); in jede neue Zeile geht nicht - warum?

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

  • fputs($fp, $values.chr(13)); in jede neue Zeile geht nicht - warum?

    Wie erreicht man bei dem Schreiben in eine Datei, dass in jede neue Zeile ein neuer Wert des array geschreiben wird? Dieser code mach immer eine Leerzeile. Die soll jedoch nicht da sein.

    $fp = fopen("words.txt", 'w');
    foreach($arr as $values) fputs($fp, $values.chr(13));
    fclose($fp);

  • #2
    Wieso mit fputs? Geht doch viel einfacher.
    PHP-Code:
    <?php
    $arr 
    = array("Element 1",
                 
    "Element 2",
                 
    "Element 3");
    $content implode("\n\r"$arr); // Fügt jedes Element in eine eigene Zeile
    if(!file_put_contents("words.txt"$content)) die("Konnte Datei nicht beschreiben!");
    ?>
    No one can predict the future...
    [Skwawl]

    Kommentar


    • #3
      Mit "\r\n" gehts besser.

      Aber file_put_contents() akzeptiert eindimensionale Arrays auch direkt.
      PHP-Code:
      if (file_put_contents('words.txt'$arr)) echo 'hat geklappt'
      Da muß dann aber schon ein Zeilenumbruch am Ende jedes Arrayelements stehen - was bei dem TO anscheinend der Fall ist.
      Zuletzt geändert von onemorenerd; 27.11.2007, 23:59.

      Kommentar


      • #4
        Danke für die Ideen, nur scheint das leider mit der PHP Version 4.4.7 nicht zu klappen.

        Kommentar


        • #5
          Na dann eben wie früher:
          PHP-Code:
          $fp fopen('words.txt''w');
          foreach(
          $arr as $valuefputs($fptrim($value)."\n");
          fclose($fp); 

          Kommentar


          • #6
            Aus meiner PHP4->PHP5 Kompatibilitätswühlkiste:
            PHP-Code:
            if(!is_callable('file_put_contents') && !function_exists('file_put_contents'))
            {
               function 
            file_put_contents($filename,$mixed
               {
                  
            $fh fopen($filename,"wb");
                  if(
            FALSE === $fh) return FALSE;
                  if (
            is_array($mixed))
                  {
                    
            $bytes fwrite($fh,join(''$mixed));
                  }else
                  {
                    
            $bytes fwrite($fh,$mixed);
                  }
                  
            fclose($fh);
                  return 
            $bytes;
               }

            Damit lassen sich die meisten Fälle abdecken.
            Wir werden alle sterben

            Kommentar

            Lädt...
            X