Tom: text datei im utf8 format schreiben

Beitrag lesen

Hallo Alexandra,


<?
if ($button) {              # ist $button vorhanden und > 0 ?
// Hier wird das File geschrieben
  $fp = fopen('news.txt', 'w');  # Datei zum Schreiben öffnen
  $antwort = $antwort."\n";      # an Parameter antwort einen

# Zeilenumbruch amhängen

## hier ?

fputs($fp, $antwort, strlen($antwort)); # Zeile wegschreiben
  fclose($fp);                            # Datei schließen

// Die Ausgabe der Datei
  $fp = fopen('news.txt', 'r');
  fpassthru($fp);

fclose($fp);                   # bitte auch wieder schließen

für die letzen drei Zeilen kann man auch schreiben:

#    readfile('news.txt');

##   allerdings sind beide Varianten falsch, denn der Inhalt
##   der Datei muss VOR der Ausgabe erst für den Browser auf-
##   bereitet werden. Also:

$fp = fopen('news.txt', 'r');
     $data = fread($fp,filesize('news.txt'));
     fclose($fp);                   # bitte auch wieder schließen

### hier müsste dan die utf8-Dekodierung stattfinden...
     $data = htmlentities($data);
     echo $data;

}

##»» else {  ## man kann auf jeden fall die Textarea anzeigen
             ## genauso wie im SelfForum bei der Threadanzeige

echo '<form name="daten_edit" action="'.$PHP_SELF.'" method="post">

<textarea name="antwort" cols="60" rows="20">$data</textarea>

<input type="submit" name="button" value="Abschicken">
    </form>';
}
?>


Mit diesem Script kannst Du nur eine einzige Textarea speichern.
Wenn es mehrere werden sollen, müsstest Du die Zeilenumbrüche in
der Textarea besonders behandeln, damit die Speicherung als Zeile
in der Datei nicht zerstört wird.

Grüße

Tom