In Dateien schreiben und überschreiben - so ???

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

  • In Dateien schreiben und überschreiben - so ???

    PHP-Code:
    $fp fopen($path.$file'w+');
    for (
    $i 0$i $size0$i++) {
        for (
    $j 0$j $size1$j++) {
            if(isset(
    $result[$i][$j][0])){
             
    $zeilen =  $result[$i][$j][0]."|".$result[$i][$j][1]."|".$result[$i][$j][2];

            if(
    file_exists($path.$file) && is_writeable($path.$file))
    {
                    
    $fp fopen($path.$file'a+');
                    
    fputs($fp"$zeilen \n");

    }
             
    fclose($fp);
    }
    }

    Dieses script schreibt eine array Zeile für Zeile in eine Datei (+a). Immer wenn es neu ausgeführt wird löscht es die bestehenden Einträge in der Datei (+w). Ich hätte gerne gewußt ob es eine elegantere Methode gibt oder ob das script so ok ist.

  • #2
    Du öffnest zweimal im gleichen Script die gleiche Datei , das brauchst Du nicht
    Ausserdem ist das ganze nicht so ganz logisch aufgebaut...
    Beantworte nie Threads mit mehr als 15 followups...
    Real programmers confuse Halloween and Christmas because OCT 31 = DEC 25

    Kommentar


    • #3
      Original geschrieben von MelloPie
      Du öffnest zweimal im gleichen Script die gleiche Datei
      Das stimmt nicht, er öffnet sie in jedem Durchgang neu, also x mal.
      Was das "+" beim Öffnen soll wissen (vielleicht) die Götter. Das macht ja wirklich nur in den seltenen Fällen Sinn, in denen von einer Datei gelesen, und geschrieben wird.
      Also öffne deine Datei am Anfang des Scripts mit "w", schreibe die Daten rein, und schliesse sie am Schluss wieder. Dann musst du auch nicht fragen, ob sie existiert, da sie neu geschrieben wird.
      Original geschrieben von janein
      Ich hätte gerne gewußt ob ... das script so ok ist
      Bei Codeteilen wie
      PHP-Code:
       }
      }

      überfällt mich das kalte Grausen.
      PHP-Code:
      <?php
      $fp 
      fopen($path.$file'w');
      for (
      $i 0$i $size0$i++) {
          for (
      $j 0$j $size1$j++) {
              if (isset(
      $result[$i][$j][0])) {
                  
      $zeilen =  $result[$i][$j][0] . "|" $result[$i][$j][1] . "|" $result[$i][$j][2];
                  
      fputs($fp"$zeilen \n");
              }
          }
      }
      fclose($fp);
      ?>
      Gruss
      H2O

      Kommentar

      Lädt...
      X