Hallo,
Daten aus der Textarea empfangen in $textarea:
function clean($var)
{
$var = str_replace(CRLF,RET,$var); // kommt vom Windows-Client
$var = str_replace(CR,RET,$var); // kommt vom MAC-Client
$var = str_replace(LF,RET,$var); // kommt vom Unix-Client
$var = str_replace(SEP,WS,$var); // Variablen-Seperator entfernen
$var = stripslashes($var); // Magic-Quotes entfernen
return $var;
}
SEP = Seperator, der zur Feldtrennung benötigt wird, hier chr(4)
RET = eigenes Returnzeichen, hier chr(127)
LF = chr(10)
CR = chr(13)
CRLF = chr(13).chr(10)
WS = Whitespace = " " oder
Wenn die Daten aus der Textarea kommen, muss man erstmal die Zeilenümbrüche gegen für die Textdatei ungefährliche ersetzen. Außerdem muss man dafür sorgen, dass die Textarea nicht das in der Textdatei verwendete Feldtrennzeichen enthält.
Dann kannst Du die Daten speichern
$record=clean($feld1).SEP.clean($feld2).SEP.clean($feld3).LF; // für Linux
...
fwrite($fh,$record,strlen($record));
...
Nach dem Lesen:
function restore($var)
{
$var = str_replace(RET,"\n",$var); // Umbruch wiederherstellen
$var = htmlentities($var);
return $var;
}
$recordlist = file($dateiname);
$record = explode(substr($recordlist[$n],-1),SEP);
Dann kannst Du die Daten wieder an die Felder zuweisen.
Das substr( ...,-1) wird benötigt, um das Newlinezeichen der Datei wieder abzuschneiden. Bei Windows musst Du dort -2 benutzen und als Zeilenendezeichen entsprechend CRLF anhängen vor dem Wegschreiben.
Liebe Grüße aus http://www.braunschweig.de
Tom
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.