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

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

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

    Comment


    • #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.
      Last edited by onemorenerd; 27-11-2007, 22:59.

      Comment


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

        Comment


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

          Comment


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

            Comment

            Working...
            X